Skip to content

파이썬 #
Find similar titles

Structured data

Category
Programming

개요 #

인터프리터식, 객체 지향(Object-oriented), 동적형결정(Dynamic typing) 스크립트 프로그래밍 언어 (Python)

쉽게 객체지향 프로그램을 만들 수 있다. 컴퓨터 과학 전 분야의 성능좋은 라이브러리들을 이용할 수 있다.

"파이썬"에는 두가지 의미가 있다.

  1. 프로그램 언어, 즉 추상적 언어 체계.
  2. 파이썬 언어를 이해하고 실행하는 기계. 이를 구현체(implementation)라고 한다.

다음과 같은 다양한 파이썬 구현체들이 존재한다.

  1. CPython: C로 만들어진 일반적인 파이썬 구현체. 보통의 Python은 CPython을 의미한다.
  2. Jython: 자바(Java)로 만들어진 파이썬 구현체. 자바 class 파일을 임포트하여 쓸 수 있다. 개발은 파이썬으로 하고, 운영환경은 자바로 하고 싶은 경우 유용하다.
  3. IronPython: C#으로 만들어진 파이썬 구현체. 각종 윈도우즈 프로그래밍(win32, .net)을 파이썬으로 할 수 있다.
  4. PyPy: 파이썬으로 만들어진 파이썬 구현체. JIT(Just In Time) 컴파일 기술을 도입하여 일반 CPython 보다 더 빠르게 동작한다. 2014-04-18 현재 CPython에 비해 6.3배 빠르게 동작한다.
  5. Pyston: PyPy가 tracing JIT 이라면 성능이 더 좋은 method-at-a-time JIT 기술을 써서 파이썬을 C++ 수준으로 빠르게 하려는 구현체. 현재 개발초기 단계이며, Dropbox사에서 주도하여 개발하고 있다.

파이썬 설치하기 #

파이썬은 크게 2.X 버전과 3.X 버전으로 나뉘게된다. 이후 언급하게되겠지만 2 버전의 경우 최근 기능에 대한 업데이트가 되지 않으므로 3버전에 대한 설치만 여기서 다룬다.

파이썬 설치는 기본적으로 공식 홈페이지 (https://www.python.org/) 에서 확인 할 수 있다.

Windows #

Windows의 경우 웹페이지에서 설치 패키지를 제공한다. 파이썬 공식 홈페이지(https://www.python.org/) 에서 Stable 버전중 가장 최신의 exe 파일을 다운로드 받은 후 실행한다.

Image

실행하면 위와 같이 프로그램이 실행되며 각 단계에 따라 설치를 진행하면 된다. 다만 설치를 시작할때 아래 "Add Python 3.6 to PATH" 에 꼭 체크를 하여야하며 만약 체크를 하지 않고 설치한다면 수동으로 설치 경로를 잡아줘야하는 번거로움이 있다.

Linux #

공식 홈페이지(http://www.python.org/download)에서 Linux 용 파이썬 파일(3.X.X.tar.gz)파일을 다운로드 받는다.

파일을 다운로드 받은후 압축을 풀고 컴파일을 실행하여야 한다.

 $ tar xvzf Python-3.x.x.tgz
 $ cd Python-3.x.x
 $ ./configure
 $ make

위와 같이하면 파이썬 설치를 할 수 있는 파일들이 컴파일 되며 아래명령어를 입력하여 파이썬을 설치하면 된다.

 $ sudo make install

Mac OS #

Mac에서 설치는 기본적으로 공식 홈페이지(https://www.python.org/)에서 패키지를 다운로드 받아 설치하는 방법과 Homebrew를 이용하여 설치하는 방법이 있다. 패키지 다운로드를 받아 설치하는 방법은 윈도우에서 설치하는 방법과 유사하니 윈도우 설치방법을 참고한다.

Homebrew를 이용하여 파이썬을 설치하기 위해서는 우선적으로 Homebrew가 맥에 설치가 되어 있어야 한다. 먼저 응용프로그램>유틸리티>터미널 로 터미널을 실행하거나 본인이 사용하는 터미널을 실행한다. 이후 터미널에서 아래 명령어를 이용하여 Homebrew를 설치한다.

       $ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

설치가 모두 완료되면 설치된 경로를 수동으로 설정해주어야 한다. 경로 설정은 ~/.bash_profile 의 맨 하단에 아래 경로를 입력하여 설정 할 수 있다.

export PATH=/usr/local/bin:/usr/local/sbin:$PATH

Homebrew가 모두 설치되면 아래와 같은 간단한 명령어를 통해 파이썬을 설치 할 수 있다.

brew install python3

파이썬 시작하기 #

파이썬은 귀도 반 로섬이 1991년 발표한 언어로써 대화 기능의 인터프리터 언어, 동적인 데이터 타입 결정, 플랫폼 독립적, 객체지향적 성격을 지니고 있다. 과학에 관련된 라이브러리가 많이 발전해 있으며 최근 머신러닝등에서 각광받고 있는 언어이다. 꾸준히 사용자 층이 증가하고 있으며 최근 java보다 많은 사용자 층을 가질 정도로 사랑받고 있다.

파이썬 사용자층 변화

출처 : https://twitter.com/drob/status/905476230832693248

파이썬 특성 #

인터프리터 언어 #

파이썬은 대화형 인터프리터 언어이다. 인터프리터 언어란 프로그래밍 언어를 바로 실행하는 것을 말한다. 파이썬은 명시적으로 컴파일 할 필요가 없으며 코드를 작성한 후 바로 실행하면 된다.

동적인 데이터 타입 결정 #

파이썬은 동적으로 데이터 타입을 결정하므로 데이터 타입에 상관없이 일반화된 코드를 작성하기 쉽다.

플랫폼 독립적 #

파이썬은 Windows, Linux, Unix, Mac OS 등 대부분의 운영체제에서 동작한다. 플랫폼에 구애받지 않고 별도로 컴파일 하지 않고도 코드를 실행하는데 문제가 없다.

배우기 쉬우며 팀 워크에 유용 #

파이썬은 간단한 문법과 들여쓰기로 각 문단을 구분함에 따라 깨끗하고 깔끔한 소스코드를 만들기 쉽다.

프로그래밍을 처음 접하는 사람이라도 하루 이틀 정도만 투자해도 기본적인 프로그래밍이 가능할 정도로 쉬운 문법을 제공한다. 또한 들여쓰기로 블럭을 구분하기 때문에 프로그래머들에게 강제적으로 줄을 맞추게 한다. 이러한 파이썬의 특성은 프로그램의 가독성과 이해도를 높인다.

파이썬은 모듈 단위의 코드를 쉽게 작성할 수 있다. 각자가 만든 스크립트를 쉽게 라이브러리로 활용할 수 있으며 독립적으로 만들어진 모듈을 모아 하나의 큰 프로그램을 만들 수 있다.

쉽게 모듈화가 가능하고 깔끔한 코드는 이해하기도 쉬워 유지 보수가 쉬우며 팀원이 함께 개발하기 좋다.

파이썬의 철학 #

파이썬에서 this 라는 라이브러리를 import 하면 아래와 같은 메시지를 볼 수 있다. 파이썬의 추구하는 바를 볼 수 있다.

$ python
iPython 3.6.1 (default, Apr  2 2017, 16:37:36)
[GCC 4.2.1 Compatible Apple LLVM 8.1.0 (clang-802.0.38)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!

파이썬의 다양한 버전들 중 어느 버전을 사용해야 할까? #

아직도 많은 서버에는 파이썬 2 버전이 기본적으로 설치되어 있다. 그러나 파이썬 2는 곧 지원이 끊길예정이며 비동기 같은 최신 기술들은 파이썬 3 버전에 적용되고 있다. 가능하다면 파이썬 3을 사용하도록 하자.

대화형 모드로 파이썬 실행해보기(인터프리터 모드) #

Windows 는 cmd, Linux 나 Mac OS는 터미널을 실행하고 python 이라고 타이핑 후 엔터를 누르면 아래처럼 대화형 모드로 파이썬을 실행할 수 있다.

$ python
Python 3.6.1 (default, Apr  2 2017, 16:37:36)
[GCC 4.2.1 Compatible Apple LLVM 8.1.0 (clang-802.0.38)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

Hello, Python!! #

>>> print("Hello, Python!!")
Hello, Python!!

사칙연산 #

계산기가 없을 때 파이썬 대화형 모드를 통해 간단하게 계산을 할 수 있다.

>>> 10 + 17
27
>>> 5 * 8
40
>>> 3 + 7 * 9
66
>>> 974520320 / 1024
951680.0
>>> 2 ** 4
16
>>> 10 // 3
3

변수 #

파이썬에서 변수를 만드는 방법은 대체로 다른 언어와 유사하다. 첫 문자는 영문자 또는 언더스코어(_)이어야 하고 두 번째 문자부터는 영문자, 숫자, 언더스코어(_)가 가능하며 대 소문자를 구별하며 길이 제한은 없다.

파이썬에서 이미 사용중인 예약어는 변수명으로 사용할 수 없다. 아래와 같이 예약어를 확인 가능하다.

>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

변수명을 만들 때는 내장 함수 이름이나 라이브러리 이름 등은 피하는 것이 좋다. 변수명으로 지정할 경우 그 함수나 라이브러리는 사용이 불가능 해진다.

파이썬 스크립트를 만들고 실행해보기 #

대화형 모드에서 실행 한 스크립트는 저장되지 않는다. 계속 사용해야하는 프로그램이라면 스크립트로 작성하여 실행할 수 있다.

파이썬 스크립트는 콘솔 이나 터미널 창에서 python [스크립트 파일] 입력하여 실행할 수 있다.

$ python simple.py

파이썬 스크립트는 보통 .py 확장자를 사용하지만 python 명령어를 통해 실행할 경우 꼭 확장자가 .py 가 아니더라도 파이썬으로 실행된다.

파이썬을 다루다 보면 .pyc 확장자를 가끔 보게 되는데 이는 컴파일된 바이트코드로 모듈로써 호출할 때 보통 생성된다.

입력한 이름에 인사해주기 #

내장 함수 input은 사용자가 입력하는 문자열을 받아들이는 함수이다. 파이썬 2 버전에서는 문자열을 받아들이는 raw_input과 숫자를 받아들이는 input으로 나누어져 있었지만 3 버전에 오면서 input으로 통합되었다.

텍스트 편집기로 아래와 같은 내용을 담고 있는 파일을 만들어 보자. 파일명은 name.py 로 작성한다. input 으로 사용자가 입력하는 문자열을 입력 받아 name이라는 변수에 저장 후 출력하는 스크립트 이다.

name = input("What's Your Name? ")
print("Hello, ", name)

python name.py 과 같이 실행하면 What's Your Name?가 출력이 되고 커서가 깜빡이며 사용자의 입력을 기다린다.

$ python name.py
What's Your Name?

텍스트를 입력 후 엔터키를 누르게 되면 Hello, 문장과 함께 입력한 텍스트를 아래처럼 출력해준다.

$ python name.py
What's Your Name? Python
Hello,  Python

출생년도를 입력 받아 현재 나이 출력해주기 #

텍스트 편집기로 아래와 같은 내용을 담고 있는 파일을 만들어 보자. 파일명은 age.py 로 작성한다.

birth 라는 변수에 사용자가 입력한 숫자를 저장한다. 문자열로 저장이 되므로 내장 함수 int를 사용하여 숫자형으로 변경해준다. 그 후 현재년도에서 출생년도를 뺀 값을 age라는 변수에 저장한다.

파이썬에서 변수를 출력할때는 위에처럼 print에 바로 써도 되지만 일정한 형식으로 이쁘게 출력하고 싶을 때는 abcd {} {} {}.format(변수1, 변수2, 변수3) 과 같은 형식을 사용하면 된다.

birth = input("출생년도를 입력하여주세요. 1986 처럼 4자리 연도로 입력하세요.")
birth = int(birth)
current_year = 2017
age = current_year - birth
print("당신의 나이는 {} 살입니다.".format(age))

python age.py 과 같이 실행하면 출생년도를 입력하여주세요. 1986 처럼 4자리 연도로 입력하세요.가 출력이 되고 커서가 깜빡이며 사용자의 입력을 기다린다.

$ python age.py
출생년도를 입력하여주세요. 1986 처럼 4자리 연도로 입력하세요.

출생년도를 입력 후 엔터키를 누르면 나이를 계산하여 출력해준다.

$ python age.py
출생년도를 입력하여주세요. 1986 처럼 4자리 연도로 입력하세요.1986
당신의 나이는 31 살입니다.

Incoming Links #

Related Data Sciences #

Related Articles #

Related Bioinformaticses #

Suggested Pages #

0.0.1_20140628_0