이해하기 쉬운 Python 3.6 - 1회차

2017. 4. 27. 18:46언어별 정리 자료/Python

이해하기 쉬운 Python 3.6 - 1회차


예전에 스터디에 쓰던 자료를 PPT로만 가지고 있기보다는 블로그에 남겨보는 것이 좋을 것 같다고 생각했다.

스터디는 9주차 ( 9회 ) 6단원씩 진행했고, 스터디때에는 진행하지 않았던 모듈 살펴보기 같은 것도 해보고 싶다.


최대한 비전공자 입장에서 써 보려고 노력했지만 이해하기 어려운 부분이 있을 수 있습니다. 댓글로 질문 해 주시면 감사하겠습니다.


먼저 파이썬이 무엇인지, 어떻게 설치하는지 알아보고 가도록 하자.


- Python의 로고는 파랗고 노란 뱀 2마리 이다. 매우 귀엽다.

Python 이란?

파이썬은 1991년 Guido Van Rossum 이라는 프로그래머가 개발한 언어이다. 활용도가 매우 높으며, Interpreter, Object-Oriented, Dynammically Type Command 언어로 활용 된다.


1.X, 2.X, 3.X 버전이 있는데, 나는 3.X, 그 중에서도 3.6.1 버전을 사용했었다.


특별한 이유가 있는건 아니고 그냥 가장 최신꺼가 가장 멋있어 보여서... 막상 사용하고 보니 2.X 버전도 아직 지원이 활발해서 2.X 버전도 괜찮은 것 같다.


오히려 3.6 버전은 뭐도 안되고, 뭐도 안되고 하던데.. ( 파이썬으로 마이크 사용하는 모듈이 3.6에서는 지원이 안된다고 하였다. ) 그래도 파이썬 특성상 Open Source 모듈이 다양해서 상관은 없을 것 같다. 


버전은 취향인 듯 싶다. 고르고 싶은 것을 고르자.


버전을 바꿔주는 프로그램들도 있으니깐 버전에 굳이 큰 신경을 쓸 필요는 없다.. 다음은 Python 2.X 와 3.X 의 차이이다.


파이썬 3에서는...

  • 모든 변수가 객체(object)로 처리됨 
  • print문 괄호 필수
  • str과 unicode 통일 → 모든 문자열은 유니코드인 str
  • int 나누기 결과가 float
  • long → int로 통일
과 같은 변화가 있었다고 한다. 굳이 몰라도 되는 내용이므로 넘어가도록 하자.



- Python 을 구글에 검색하면 뱀 사진보다 더 먼저 뜨는 것이 Python 로고이다. ( 뱀 사진은 그러면 어떻게 검색하지.. )




Python의 종류?

C로 구현된 Python ( CPython ), Python 으로 구현된 Python ( PyPy ), 심지어 JAVA로 구현된 Python ( Jython )까지 다양한 구현체가 있으나 우리가 사용 할 것은 그 중 사실상 표준인 CPython 을 사용해서 공부 해 볼 것이다.


Python의 가장 큰 장점은 Open Souce 다양한 모듈에 있다고 볼 수 있다.


Django를 이용한 Server Client, pyQT 를 사용한 PC Application 개발, 최근 굉장히 유명세를 타고있는 Tensor Flow 같이 여러 환경, 여러 분야에서 잘 쓰이곤 한다.


이렇게, Interpreter 특성과 다양한 환경에서 쓰일 수 있다는 장점과 결합하여 높은 생산성을 보인다.


그러나 다중 쓰레딩을 사용 할 경우 문제가 조금 있다고 하니, CPU에 연산량이 많은 경우에는 Multi Process 를 사용하는 것이 좋다고 한다. 자세한 내용은 OS에서 배우는 Concurrency 내용을 배우면 더 잘 이해 할 수 있다.


Interpreter?

위에서 자꾸 Interpreter 라는 개념이 나와서 생소할 수 있는데, Interpreter 와 반대 된다고 할 수 있는 개념은 Complier 이다.

쉽게 말하면 프로그래밍 언어의 소스 코드를 바로 실행하는 프로그램 / 환경을 의미한다. 지금 window + R 키를 눌러서 cmd 를 실행 해 보자. 그런 화면이 Interpreter 를 의미한다.

설치하기

www.python.org 에서 Python 다운로드가 바로 가능하다.

들어가자마자 보이는 Download tab 에 마우스를 올리면 3.6.1 ( 2017년 4월 27일 기준 ) Download for windows 가 있다.

눌러서 다운로드 받은 뒤, 설치 next 를 계속 누르다 보면 설치가 완료된다.


2번째 창인 Advanced Options 창에서 Add Python to environment varidables 에 체크를 하게 되면 환경 변수에 Python 설치 경로를 입력 할 필요없이 바로 설치가 되도록 해 준다. 그 외의 체크는 신경 쓸 필요 없다.


환경변수는 CMD 창에서 python 명령어를 통해 바로 Python command 창을 불러올 수 있도록 하게 해 주는 역할을 한다. 편리한 기능이므로, 체크를 해제하지 않도록 하자.


그 아래에 보면 Customize install location 창이 나오는데, C:\Python\Python\Python36-32\ 에 설치를 하면 나중에 Python 에 무엇인가 오류가 생겼을 때 편하게 찾거나 삭제 할 수 있다. ( 모듈 설치 관련 )

Python의 설치는 상대적으로 간단하고 빠르다. ( JAVA나 C 같은 것에 비해 )


설치가 완료되었으면 Window + R 을 눌러 cmd 를 입력하여 Command 창을 다시 한 번 더 켜본다.

그 후 python 을 입력해서 잘 실행되는지 보자.

-위와 같이 cmd 창에 python 을 입력시 다른 창이 하나 더 뜨거나, 혹은 python 실행 창이 하나 더 뜨면 설치에 성공 한 것이다.


print("hello world!") 를 입력하면 화면에 hello world! 가 나오는 것을 알 수 있다.

다른 언어와는 다르게 설정하고 할 파일이 많지 않아 편한 부분이 있다.


이처럼 Command 창에서 직접 대화하듯 명령어를 입력하여 실행하는 방식을 REPL( Read Evaluation Print Loop ) 방식이라고 한다.


화면에 >>> 가 떠서 명령어를 입력 가능한 상태를 Interactive Mode 라고 부른다. 또한 이러한 화면을 Interactive interpreter shell 이라고 부른다. ( 그냥 이런 용어가 있다는 것을 알아만 두자. )


 


- 다음과 같이 입력 후 결과가 나오는 것을 볼 수 있다.


Python을 종료하고 싶을 땐, quit() 혹은 exit(), ctrl + c, ctrl + z 를 누르면 종료 할 수 있다. ctrl 을 통해 종료하는 것은 강제 종료, 에러에 의한 종료이며, quit() 이나 exit()에 의한 종료른 정상 종료 ( Return 0 ) 와 같은 종료이다.



REPL?

REPL 방식은 Script 언어의 interactive interpreter shell 의 다른, 예전 명칭이라고 이해 하면 쉽다. 


직접 간단한 코드를 입력해서 결과를 바로 볼 수 있게 해주는 편리한 기능이 될 수 있다. 한 줄 읽어서 한 줄 실행 결과를 표시한다는 의미이다.


굳이 Python이 아니더라도 옆동네 함수형 언어인 LISP이나 Perl 등을 살펴 본다면 더 쉽게 이해 가능하다.( 함수형 언어에 대한 내용은 다루지 않지만, 쉽게 설명하자면 함수의 응용을 강조한 프로그래밍 언어라고 할 수 있을 것이다. )


특히 REPL의 E 부분인 Evaluation 은 옆동네 언어로 보는 것이 이해가 쉬울 수 있다.




IDE?

그러나 이렇게 코딩을 할 수는 없는 노릇이다. 자신이 친 코드를 저장도 해야 하고, 또 Object-Oriented Programming 혹은 다른 함수를 만들 때에도 이렇게 처음부터 쓰는 것은 어리석은 행동이다. ( Object-Oriented도 여기서 내용을 다루진 않지만, 굳이 설명을 하자면 프로그램을 작성하는 하나의 방식이라고 생각하도록 하자. )


C 언어는 Visual Studio, JAVA 는 Eclipse 처럼 대표적인 통합 개발 환경 ( IDE )가 있는데, Python은 그런 IDE 가 없다. 대신 Python 설치 시 같이 설치되는 IDLE 가 있으므로, 그것을 통해 실행하도록 한다.




- 오른쪽의 하얀 아이콘이 IDLE(Python 3.6 32 bit) 라고 되어있는 프로그램이다.


IDLE를 실행하면 흰 바탕에 아까 Command 창에 python 을 입력 한 것이랑 비슷한 화면이 나온다.

왼쪽 위 메뉴의 File을 누르고 New File을 누르거나, Ctrl + N 버튼으로 수정 할 파일을 생성하도록 하자.





print("hello world!") 를 치고 hello.py라는 이름으로 저장 해 보도록 하자. 이렇게 방식으로 파일을 만들어 저장하면, 여러 명령어를 위에서 부터 순차적으로 수행 가능하므로 Interactive Shell 에서 진행하는 것 보다 효율적인 프로그래밍이 가능하다.


참고로 필자는 저장을 바탕화면에서 진행하였다.





그 후, Window + R 키로 cmd 창을 켜서 저장한 폴더로 이동하자.

"cd 저장한 폴더 위치" 를 통해 이동 가능하다.



D 드라이브는 D: 를 입력해서 이동 가능하다.

만약 파일을 D 드라이브에 저장 했다면 D: 를 입력하고 "cd 저장 폴더 위치" 를 통해 이동하도록 하자.




이동 한 다음, python hello.py 를 실행하면, 화면에 실 결과가 나타나는 것을 알 수 있다.


- 참고로 hello.py 만을 실행하면 연결 프로그램을 지정하지 않았다면서 실행이 되지 않을 수 있다. 필자는 .py 확장자에 대해서 연결 프로그램을 지정하지 않아 오류가 뜬 모습이다.





혹은 위의 메뉴에 있는 Run 메뉴의 Run Module 혹은 F5 버튼을 누르면 바로 실행된다.


두가지 실행 방식 모두 잘 쓰이는 방식이므로 잘 기억 해 두도록 합시다.



참고자료

파이썬 위키백과

파이썬 나무위키

파이썬 버전별 차이 제타위키

인터프리터 위키백과