2장: 파이썬 프로그래밍 환경
Python Programming Environment
박 진 수 교수
Intelligent Data Semantics Lab
Seoul National University
Table of Contents
파이썬 개발 환경 설치하기
https://www.python.org/downloads/
프로그래밍 툴
웹 브라우저에서 파이썬 프로그래밍
repl.it
https://repl.it/languages/python3

PythonAnywhere
https://www.pythonanywhere.com

텍스트 편집기에서 파이썬 프로그래밍
프로그래밍을 위한 텍스트 편집기(text editors)
- ASCII 파일이나 유니코드 텍스트 파일을 편집할 수 있는 소프트웨어
- 윈도우의 ‘메모장’과 비슷한 기능을 하지만 프로그래밍이 용이하도록 다양한 기능을 제공하는 편집기도 많으니 장단점을 잘 비교해 자신에게 맞는 편집기를 사용
Visual Studio Code
https://code.visualstudio.com/

Sublime Text
http://www.sublimetext.com

Notepad++
https://notepad-plus-plus.org

Atom
https://atom.io/

통합개발환경에서 파이썬 프로그래밍
통합개발환경(IDE, integrated development environment)
- 편집기, 컴파일러 등 프로그램 개발에 필요한 대부분의 도구들을 담고 있는 소프트웨어
IDE의 장점
- 함수명, 명령어, 매개변수 등 다양한 코드 구성 요소들을 색깔로 쉽게 구별하는 코드구문강조(syntax highlighting) 기능
- 문법 오류가 있을 경우 실시간으로 확인 가능
- 명령어 자동완성 기능 제공
- 다양한 디버깅 툴을 제공하기 때문에 오류 발견이 용이
IDE의 단점
- Visual Studio Code나 Sublime Text 같은 단순한 문서편집기보다 용량을 훨씬 더 많이 차지함
PyCharm
- 가장 평가가 좋은 IDE로 Heavy Developer가 주로 사용
- 무료 버전은 ‘Community Edition’
https://www.jetbrains.com/pycharm/

IDLE
그러나… 본 강의의 공식 파이썬 툴은…
IDLE : Integrated Development and Learning Environment
내장(built-in) 프로그램
- 파이썬 설치 시 기본적으로 함께 설치되는 프로그램
- TkInter 그래픽 사용자 인터페이스(GUI) 라이브러리를 사용
3가지 핵심 기능
- 내장된 코드 편집기를 통해 자동 들여쓰기, 색깔을 통해 명령어를 구분하는 코드구문강조(syntax highlighting) 기능, 명령어 자동 완성 기능 등을 지원
- 디버거가 장착되어 있어 각 코드 별로 한줄씩 한줄씩 오류를 파악하고 수정하는 것이 가능
- 대화형 모드와 인터프리터 모드 둘 다 사용 가능
- 대화형 모드(interactive mode) : 파이썬 셸(shell)에서 명령어(코드)를 입력받고 그 결과를 바로 출력
- 인터프리터 모드(interpreter mode) : 파이썬 프로그램 편집기에서 프로그램을 작성한 후 파이썬 파일을 실행
Lab: IDLE 둘러보기
< 바로 쓰는 파이썬: 기초 편 > 의 부록 2 - IDLE 둘러보기 참조
IDLE 기능 둘러보기
DEMO
IDLE 샘플 코드 맛보기
DEMO
IDLE로 파이썬 실행하기
IDLE 대화형 모드
DEMO
IDLE 인터프리터 모드
DEMO
디버깅
DEMO
정리 : 두 가지 모드에서 파이썬 프로그램 실행
대화형 모드(interactive mode)
- 대화 창(파이썬 셸)에서 실시간으로 명령어를 입력
- 대화형 모드를 실행하면 프롬프트(‘»>’ 표시)가 나타남
- 프롬프트는 사용자로부터 명령어를 입력받을 준비가 되었다는 뜻
- 명령어가 처리되면 다음 명령어를 기다리는 프롬프트가 다시 나타남
- 단, 잘못된 명령어를 입력해서 실행할 경우 오류 메시지가 출력됨
- 파이썬의 다양한 기능을 테스트해 볼 때 편리함
인터프리터 모드(interpreter mode)
- 파이썬 명령어들을 문서 형태로 저장(즉, 코드 파일을 생성한다는 뜻)
- 프로그램 창에서 작성한 코드를 파일 형태로 저장
- 참고 : 대화형 모드에서는 입력한 명령어들이 저장되지 않음
- 반드시 파일 확장자를 .py로 설정
- 프로그램 파일을 실행하기 위해 메뉴에서
- [Run] —> [Run Module]
또는
- [F5]
명령어 셸 실행 환경
사용자 환경 : 셸
셸(shell)이란?
- 커널(kernel)이라는 운영체제의 내부 핵심과 사용자 사이의 인터페이스
- 사용자의 명령을 해석해서 운영체제에 전달하고 그 처리 결과를 사용자에게 보여주는 시스템 프로그램
- 사용자는 다양한 셸(shell) 환경에서 프로그램을 실행할 수 있음
셸의 종류
그래픽 셸(graphic shell)
- 그래픽 사용자 인터페이스(GUI, graphic user interface)
- 윈도우(Windows)
- 맥 OS(macOS)
- 유닉스(UINX)와 리눅스(LINUX)의 X 윈도우 시스템(X Window System, X11)
명령어 셸(command/character shell)
- 명령어 인터페이스 또는 명령 줄 인터페이스(CLI, command line interface)
- 사용자가 컴퓨터 키보드 등을 동해 문자열 형태로 입력을 하며, 컴퓨터로부터의 출력 또한 문자열로 이루어짐
- 윈도우(Windows) 운영체제 : 도스(DOS) 셸 환경의 명령 프롬프트
- 맥 OS(macOS) 운영체제 : bash 셸 환경의 터미널
그래픽 셸 예시
윈도우(Windows)

맥 OS(macOS)

명령어 셸 예시
윈도우(Windows)

맥 OS(macOS)

대화형 모드
명령어 셸에서 파이썬 셸 실행하기

대화형 모드 종료
방법 1
방법 2
방법 3
창 닫기 아이콘 클릭
방법 4 : macOS 경우 단축 키 사용
[control] + Z
[control] + D
만약 같은 파이썬 코드를 여러 번 반복해서 실행해야 한다면?
인터프리터 모드
- 프로그램 파일은 파이썬 인터프리터를 통해 실행됨
- 주로 명령어 셸(CLI)에서 이루어짐
윈도우(Windows) 명령 프롬프트에서 실행

유닉스 기반 시스템(e.g., Unix, Linux, 또는 macOS)

Frequently Questioned Answers (FQA)
‘인터프리터 모드’ 로 프로그램을 <실행>하고자 할 때도 IDLE을 사용할 수 있나요?실행>
- 가능은 합니다만 본 수업에서는 권장하지 않습니다. 명령어 셸(CLI), 즉 ‘명령 프롬프트’(윈도우) 또는 ‘터미널’(맥)에서 실행하길 권장합니다.
- 만약 ‘명령 프롬프트’(윈도우) 또는 ‘터미널’(맥) 사용이 익숙하지 않을 경우 본 수업의 실습 <Lab: 셸 명령어 기초>에서 기본 내용을 다루니 학습하면 됩니다.
- 추가 정보가 필요할 경우 구글에서 ‘Command Line Crash Course’를 검색하거나 네이버에서 ‘명령 프롬프트 사용법’ 또는 ‘터미널 사용법’을 검색하면 관련 정보를 얻을 수 있습니다.
프로그램 실행 시 ‘No such file or directory’ 라는 메시지가 출력되면서 프로그램이 실행되지 않습니다.
Lab: 셸 명령어 기초
< 바로 쓰는 파이썬: 기초 편 >의 부록 1 - 셸 명령어 기초 참조
Windows
명령 프롬프트 열기
- 키보드에서 [윈도우 시작버튼(창문 아이콘)] + [R]을 누름
- 실행 창이 나타나면 cmd라고 입력한 후 [Enter] 키를 누름
- cmd.exe 파일이 실행됨
- 그러면 ‘명령 프롬프트’ 창이 열림
도우미 명령어
help : ‘명령 프롬프트’에서 제공하는 명령어 목록을 볼 수 있음
help [명령어] 또는 [명령어] /? : 특정 명령어에 대한 자세한 내용 도움 요청
cls : 화면에 나타난 모든 출력을 지움
exit : ‘명령 프롬프트’ 종료
실습에서 학습하는 명령어
cd / chdir
- cd ..
- cd %homepath%
- 절대경로와 상대경로
mkdir
dir
rmdir / rm
copy
macOS
터미널 열기
- 키보드에서 [command](혹은 [control]) + [스페이스 바]를 누름
- [스포트라이트(Spotlight) 검색] 창이 나타나면 터미널이라고 입력한 후 [터미널] 항목을 더블 클릭
- 그러면 ‘터미널’ 창이 열림
도우미 명령어
man [명령어] : 특정 명령어에 대한 자세한 내용 도움 요청
clear : 화면에 나타난 모든 출력을 지움
exit : ‘터미널’ 프로세스를 종료
실습에서 학습하는 명령어
pwd
cd
mkdir
ls
rmdir / rm
cp
파이썬 프로그램 실행 명령어 : 인터프리터 모드
Windows의 경우 :
> python [(경로)파일 이름].py
macOS의 경우 :
$ python3 [(경로)파일 이름].py
명령어 셸에서 디버깅 하기
print('Hello', 'Python~~~!')
print('Hello Python~~~!')
print('I love Python.)
print("So I'll master Python.")
File "<ipython-input-8-5d4f9f897343>", line 3
print('I love Python.)
^
SyntaxError: EOL while scanning string literal
Windows 명령 프롬프트의 경우

macOS 터미널의 경우

Lab A1: 명령어 셸에서 파이썬 코드 실행하기
- 디렉토리 만들기 : 사용자 홈 디렉토리 아래 ‘pyprg’ 디렉토리를 만들고 그 아래 ‘lab’ 디렉토리를 생성한다.
-
파이썬 프로그램 작성하기 : ‘lab’ 디렉토리에 아래 ‘helloworld.py’ 파일을 만들어 아래 내용을 입력한 후 저장한다.
x = 'Hello '
y = 'World!'
z = x + y
print(z)
-
파이썬 프로그램 실행하기 : ‘helloworld.py‘를 실행하면 아래와 같은 결과가 나와야 한다.
> python helloworld.py
Hello Word!
THE END