#!/usr/bin/env python # coding: utf-8 # ## 01장 파이썬이란 무엇인가? # In[1]: get_ipython().system('python -c "import this"') # ### 01-1 파이썬 시작하기 # # #### 파이썬이란? # # - 파이썬(Python)은 1990년 암스테르담의 귀도 반 로섬이 개발한 인터프리터 언어이다. # - 크리스마스때 만들었다나 뭐라나... 위화감이 느껴지는 대목이다. ^^ # # # - 개인적으로 오래 전부터 접할 수 있는 기회가 있었지만, 세미콜론(;)이나 중괄호({})가 없다는 것부터가 진입장벽(?)이었다. ㅎㅎ # - 다시 관심을 갖게된 것은 웹 프레임워크인 Django(장고)나, 최근 데이터 분석에 널리 쓰여서이다. # - 가장 유명한 MOOC 중 하나인 [edX](http://edx.org)에서 사용하는 오픈소스 LMS(Learning Management System) 플랫폼이 장고 기반인 [OpenedX](http://open.edx.org)이다. # ### 01-2 파이썬의 특징 # # - 파이썬은 인간다운 언어이다. - *사람이 생각하는 방식을 그대로 표현할 수 있는 언어이다.* # - 파이썬은 문법이 쉬워 빠르게 배울 수 있다. - *학생들의 코딩 교육에 많이 쓰인다.* # - 파이썬은 무료이지만 강력하다. - *오픈소스이다.* # - 파이썬은 간결하다. - *이러한 간결함이 나에게는 진입장벽이었다.* # - 파이썬은 프로그래밍을 즐기게 해준다. - *평생을 즐겁게 프로그래밍 할 수만 있다면...* # - 파이썬은 개발 속도가 빠르다. - *"Life is too short, You need python."* # ### 01-3 파이썬으로 무엇을 할 수 있을까? # # #### 파이썬으로 할 수 있는 일 # # - 시스템 유틸리티 제작 - *시스템 관리도구나 네트워크 관리도구의 개발* # - GUI 프로그래밍 - *많이 사용하려나??* # - C/C++ 와의 결합 - *멋지다. 이럴만큼 성능에 민감한 프로그램을 개발할 일이 있을런지...* # - **웹 프로그래밍** - *가장 관심이 가는 부분이고 Django(장고) 프레임워크가 있다.* # - 수치 연산 프로그래밍 # - 데이터베이스 프로그래밍 # - **데이터 분석**, 사물 인터넷 - *요즘 R과 함께 데이터 분석에 많이 쓰이고 있다.* # # #### 파이썬으로 할 수 없는 일 # # - 시스템과 밀접한 프로그래밍 영역 # - 모바일 프로그래밍 # ### 01-4 파이썬 설치하기 # # - [위키독스](https://wikidocs.net/8) 참고 # - 윈도우의 경우라면 공식 홈페이지의 [다운로드 페이지](http://www.python.org/downloads)에서 내려받아 설치한다. # - 리눅스 사용자라면 기본적으로 설치되어 있을 것이다. # - 다른 버전을 설치하려면 위의 다운로드 페이지에서 내려받아 소스를 컴파일하여 설치할 수 있다. # - OS 별 패키지 매니저를 사용하여 설치할 수도 있다. # # # - 개인적으로는 "설치가 필요 없는 클라우드 통합개발환경"인 [구름IDE](http://ide.goorm.io/)를 사용해 보려고 한다. # - 현재 사용하고 있는 jupyter 노트북도 구름IDE 에서 제공하고 있는 컨테이너 환경이다. # ### 01-5 파이썬 둘러보기 # # #### 파이썬 기초 문법 따라 해보기 # # - 사칙연산 # In[2]: 1+2 # In[4]: 3 / 2.4 # In[5]: 3 * 9 # - 변수에 숫자 대입하고 계산하기 # In[6]: a = 1 b = 2 a + b # - 변수에 문자 대입하고 출력하기 # In[8]: a = "Python" print(a) # - 파이썬은 **복소수**도 지원한다. # In[10]: a = 2 + 3j b = 3 a * b # - 조건문 if # In[11]: a = 3 if a > 1: print("a is greater than 1") # - 반복문 for # In[12]: for a in [1, 2, 3]: print(a) # - 반복문 while # In[13]: i = 0 while i < 3: i = i + 1 print(i) # - 함수 # In[14]: def sum(a, b): return a+b print(sum(3, 4))