자! Python세계에 온것을 환영한다. 우선 이 Python이라는 놈이 어떤 생태환경을 가지고 있는지 관찰해보도록하자
우리의 첫번째 코드는
>> print("Hello World")
이다. Python은 다음과 같은 코드를 입력하면
>> print("Hello World")
Hello World!
와 같은 결과를 줄것이다.
이 한줄이 의미하는 것은 간단하다.
Hello World를 출력해라!
가령 Hello World말고 좋아하는 글자를 써서 넣을 수 있을 것이다. 예를 들면
>> print("퇴근!")
퇴근!
이 될 수도 있다.
다른 일은 어떤 걸 할 수 있을까? 컴퓨터니까 우리의 귀찮은 계산을 대신해주었으면 하는 바람이 있다.
(* 아직 우리의 Python은 그다지 똑똑하지 못한 주인을 가지고 있기에 사칙연산을 대신 시켜보도록 하자)
>> 3+5
8
>> 10/2
5
>> 5*2+3
13
>> (7-4)*2
6
우리의 Python은 역시 똑똑하다
Python과 친해지는 방법은 여러가지를 써보는 것이다. C언어의 창시자인 우리의 메시아 데니스 리치는 프로그래밍언어에 익숙해지는 가장 효율적인 방법은 그것으로 프로그램을 만드는 것이라고 했다. Python과 익숙해 지는 가장 좋은 방법은 역시 Python을 오랜시간들여 관찰하고 같이 여러가지를 해보는 것이다. 다음시간에는 변수와 사칙연산으로 Python과 더욱 친해져 보도록 하자
-- Python을 시작하려면 Python을 작성할 수 있는 개발도구가 있어야 한다. --
프로그램도 자신의 맞는 환경이 존재해서 정확한 프로그램을 설치하기 위해서는 자신의 단말기 정보를 알아야 한다. 크게 ①운영체제와 ②아키텍처를 알아야 하는데, 자신의 운영체제와 버전을 확인하는 방법은 다음과 같다.
① Window 아키텍처 확인방법
실행창([윈도우]+[R]) - msinfo32 - [OS이름, 시스템 종류 확인]
*여기서 시스템 종류가 X86인 경우 32버전, X64인경우 64버전이다.
* 리눅스의 경우에는 Python이 내장되어 있으며, Mac은 내가 쓸 줄 모른다....(단말기도 없고 VM에 설치할 의지도 없다.)
여기까지 되었다면 우리의 Python 개발도구를 만나러 갈 시간이다. 가장 간단한 IDLE의 설치 방법을 포스팅할 것이다. 이 글 마지막 부분에 다른 추천 개발도구 또한 설치 링크를 적어두었으니, IDLE이 마음에 들지 않거나, 추가적인 기능이 필요한 경우 다른 도구를 설치하자
※ IDLE 이란? ※
IDLE - Python으로 개발된 개발도구이다. Python을 설치할 때 내장되어있으며, 필자는 다른 도구는 무거워서 단순한 프로그램은 이것으로 개발한다.
※ IDLE 설치방법 ※
1. 다음 위 설치 링크의 Python공식 홈페이지의 다운로드 화면으로 이동, Download Python 3.9.3을 눌러서 Python setup를 다운로드한다. (설치 링크 : www.python.org/downloads/)
2. Python setup 실행 후 [Install Now]를 클릭한다.
3. 설치가 완료되었으면 자신의 프로그램 목록에 IDLE이 설치된 것을 확인할 수 있다. (필자는 3.8의 Python을 사용하고 있으며, 방법대로 3.9.3을 설치한 사용자는 IDLE(Python 3.9 XX-bit)로 표시될 것이다.)
4. IDLE을 열면 다음과 같은 화면이 우리를 반긴다. 이곳이 Python과 대화를 할 수 있는 인터프리터가 구현된 곳이라고 생각해주면 된다.
5. 탭의 [File] - [New File](단축키 : Ctrl + N)을 눌러 새로운 .py를 만들기 위한 준비를 하자 * .py란 파이선으로 작성된 언어 스크립트의 확장자이다. Python과 관련된 확장자 중 하나로 다른 확장자는 Complied된 파일인 .pyc, 라이브러리 형태로 작성된 .pyd 등등이 있다.
<New File탭>
6. 새로운 스크립트 작업창에 print("Hello World") 입력 후 탭의 [File] - [Save](단축키 : Ctrl + S)를 선택하여 파일을 저장한다.(이름은 어떻게 하든 무관하니, 지금은 hello.py로 지정한다.)
③ ATOM - 다른 언어의 개발 툴까지 같이 제공해주는 좋은 프로그램이다. 사용법도 어렵지 않고, 인터페이스도 깔끔하다 (설치 링크 : atom.io/ ) >> 별도로 python플러그인을 설치해야 된다.
④ Anaconda - 실제로는 Anaconda에 들어있는 Jupyter Notebook이라는 프로그램이 개발환경이 되는데, 웹으로 작성되는 코드이다 보니 필자는 익숙하지 않아서 쓰지 않았다. 그러나 Anaconda가 제공하는 기능(예를 들면 상이한 버전의 파이선을 같은 환경에서 구동 가능하다는 것 등)이 워낙 강력하기 때문에, 데이터베이스 등 수학/기하적인 용도로 Python을 사용하는 사람이라면 추천한다. (설치 링크 : www.anaconda.com/products/individual)
* 기존에 다른 개발도구를 사용하다가 Python을 배우는 경우 사용하던 개발도구가 Python을 Plugin처럼 지원하는 경우도 있다.(ex : Visual Studio) 우리의 용량은 소중하니 잘 확인해보자.
멋진 말이다. 평범한 사람들에게 프로그래밍의 멋짐을 보여준 언어이자, 수많은 프로그래머들의 시간 단축을 도와주는 훌륭한 언어가 우리의 친구 Python이다.
대학에서 컴퓨터 꽤나 만져본 사람들은 C나 JAVA, BASIC의 문법을 보다가 Python의 문법을 보면 "아니 이게 가능해?"라는 말을 많이 한다. 변수선언으로 부터의 자유로움, 직관적인 명명법 등의 특징 덕분에 개발을 조금만 공부했어도 저~중 수준의 Python의 코드를 읽는 것에는 문제를 찾기 어려울 정도이다.
주관적인 생각으로는 다음과 같은 Python의 특징이 언어를 쉽고, Pythonic하게 만든다고 생각한다.
1. 낮은 난이도와 그에 따른 빠른생산속도 2. 동적 타이핑의 대화형 언어(인터프리터식) 3. 확고한 디자인 철학과 많은 사용자
1. 낮은 난이도와 그에 따른 빠른 생산속도 Python의 난이도가 얼마나 낮은 지를 이야기하는 것은 입을 상하게 하는 일이다. 기본적인 코드를 기준으로 C나 JAVA의 몇십 줄에 해당하는 코드가 Python에서는 단 두세 줄 만에 해결되는 일도 심심치 않게 있다. 이로 인해 ①프로그램을 입문하는 사람들의 교육용이나, ②개발 프로토타입과 스크립트 작성에 많이 쓰이는 언어가 Python이다.
2. 동적 타이핑의 대화형 언어(인터프리터식) 프로그래밍 언어는 동작 방식으로 다음과 같이 나뉜다. ① Compiler 식 언어 : 코드를 작성 후 Compile 해서 목적 프로그램을 만들어낸 후 그 목적프로그램을 실행하는 언어 ② Interpreter 식 언어 : 코드의 Compile없이 한줄한줄 읽어들이며 동작하는 언어 파이선은 Interpreter 식 언어이다. Python 을 설치하고 콘솔에 print "hello World!"를 치면 다른언어 입문도서에서 보고 이게 뭐지 했던 그 대여섯줄짜리 Hello world가 한줄로 나오는 것이다! Compiler식 언어와 Interpreter식 언어의 장단점은 명확하지만, 즉각적인 반응을 해주는 파이선 Interpreter를 처음 본 그 순간은 아마 잊지 못할 것 같다.
3. 확고한 디자인 철학과 많은 사용자 다음은 Python에서 import this를 하게 될 경우 나오는 파이선의 디자인 철학이다. (Import 가 뭔지는 지금은 몰라도 된다.)
1. 추함보다는 아름다움이 낫다. 2. 묵시적인 것보다는 명확한 것이 낫다. 3. 복잡함보다는 단순함이 낫다. 4. 난해한 것보다는 복잡한 것이 낫다. 5. 중첩하는 것보다는 평평하게 쓰는 것이 낫다. 6. 오밀조밀한 것보다는 띄어 쓰는 것이 낫다. 7. 가독성은 언제나 중요하다. 8. 특수한 경우라 해도, 규칙을 깰 만큼 특수하지는 않다. 9. 하지만 실용적인 것이 순수함을 이긴다. 10. 에러는 절대로 조용히 넘어가서는 안 된다. 11. 명시적으로 조용히 넘어가라고 되어있다면 모르겠지만. 12. 모호함에 직면하더라도, 추측에 의존하려는 유혹을 이겨내라. 13. 언제나 무언가를 하는 방법은 가급적이면 정말 오로지 한 가지뿐 이어야 한다. 14. 당신이 네덜라드 인이 아닌 이상, 처음에 바로 보이지 않더라도 말이다. 15. 바로 지금이 제일 적절한 때다. 16. 비록 *바로 지금*보다 아예 하지 않는 경우가 나을 때가 자주 있더라도 말이다. 17. 구현한 것을 설명하기 어렵다면, 그것은 좋은 아이디어가 아니다. 18. 구현한 것을 설명하기 쉽다면, 그것은 좋은 아이디어일 수도 있다. 19. 네임 스페이스는 정말 훌륭한 아이디어이니, 자주 사용하자!
이렇게 단순하면서 아름다운 파이선의 지식을 작지만 적어두며, 파이선과 컴퓨터에 입문하게 되는 사람들에게 스타터팩이 되고 싶은 마음으로 Python Tutorial을 시작한다. 단순한 언어이기에 또 블로그를 시작한 지 얼마 되지 않아 아직 흥미가 떨어지지 않았기에 이번 달 말까지는 매듭을 짓게 될 거 같다.