1.3 첫 파이썬 프로그램 만들기
프로그래밍 환경을 준비하느라 고생 많았다. 이제 첫 파이썬 프로그램을 만들어 보자.
1.3.1 파이썬 프로그램 작성하기
디렉터리 만들기
디렉터리를 만들어 두면 파이썬 프로그램 파일을 서로 어울리는 것끼리 묶어두기에 좋다. 각 장별로 디렉터리를 만들어 실습 파일을 모아 두자. 1장을 의미하는 ‘chapter_1’ 이라는 디렉터리를 만들자. 파이참 화면 왼쪽의 프로젝트 파일 탭에서, ‘study’ 디렉터리에 마우스 커서를 올리고 마우스 오른쪽 버튼을 클릭하면 파일 관리 팝업 메뉴가 나온다. 팝업 메뉴에서 ‘New -> Directory’를 클릭하면 디렉터리를 만들 수 있다.
그림 1-23 디렉터리 만들기
디렉터리의 이름을 묻는 창이 나오면 ‘chapter_1’ 이라고 적자.
그림 1-24 디렉터리 이름 정하기
‘study’ 프로젝트 디렉터리 아래에 ‘chapter_1’ 디렉터리가 생성될 것이다. 이후 다른 장의 실습을 할 때도 ‘chapter_2’, ‘chapter_3’과 같이 장에 알맞는 디렉터리를 만들면 된다.
파이썬 파일 만들기
파이썬은 인터프리트 방식의 언어이기 때문에, 소스코드 파일이 곧 프로그램 파일이다. 첫 파이썬 프로그램이 될 소스코드 파일을 생성해 보자. 화면 왼쪽의 프로젝트 파일 탭에서 ‘chapter_1’ 디렉터리에서 마우스 오른쪽 클릭으로 팝업 메뉴를 연다. 팝업 메뉴에서 ‘New -> Python File’을 선택한다.
그림 1-25 파이썬 파일 만들기
파일 이름은 first_program.py
로 짓자. 파일명 끝의 .py
는 파이썬 소스코드 파일이라는 뜻의 확장자다.
그림 1-26 파이썬 파일 이름 짓기
디렉터리와 파일을 모두 만들었으면 아래와 같은 화면이 될 것이다. 이 화면에서 왼쪽은 프로젝트의 파일을 관리하는 파일 관리 탭, 오른쪽은 프로그램 파일을 편집하는 편집기 탭이다. 오른쪽에 first_program.py
파일이 열려 있다.
그림 1-27 디렉터리와 파이썬 파일이 생성된 모습
프로그램 내용 입력하기
그러면 파이썬 프로그램 파일에 다음 코드를 똑같이 따라 입력해 보자.
코드 1-3 첫 파이썬 프로그램
# 첫 파이썬 프로그램
print('당신의 이름은 무엇인가요?')
name = input()
print(name, '님 반가워요.')
코드를 입력할 때 주의할 점
코드를 입력할 때는 완전히 똑같이 입력하는 것이 중요하다. 띄어쓰기, 기호 하나라도 틀리면 오류가 발생할 수 있다. 대문자와 소문자도 구별해야 한다. 오타가 나면 지우고 다시 작성하자.
코드를 다 입력하면 그림 1-28처럼 될 것이다. 코드를 정확하게 입력했는지 잘 확인해 보자.
그림 1-28 코드 입력을 마친 모습
코드를 입력·수정하면 입력된 내용은 저절로 파일에 저장된다.
1.3.2 파이썬 프로그램 실행하기
방금 만든 첫 파이썬 프로그램을 실행해 보자. 파이참 상단 메뉴에서 ‘Run -> Run…’ 을 클릭한다.
그림 1-29 파이썬 프로그램 실행하기
그러면 어떤 파일을 실행시킬 것인지 묻는 창이 나온다. 방금 작성한 ‘first_program’을 고르자.
그림 1-30 실행 대상 파일 선택 창
프로그램을 실행하면 파이참 아래쪽에 콘솔 탭이 열리고 프로그램의 실행 결과가 출력된다.
그림 1-31 프로그램을 실행한 모습
프로그램에서 ‘당신의 이름은 무엇인가요?’라고 묻고 있다. 콘솔 탭을 클릭한 뒤 자신의 이름을 입력하고 엔터 키를 입력해 보자. 그러면 ‘박연오 님 반가워요.’하고 입력한 이름과 함께 인사가 출력될 것이다.
그림 1-32 콘솔 탭에 이름 입력하기
프로그램 실행이 끝나면 ‘종료 코드 0으로 프로세스가 종료됨(Process finished with exit code 0)’라는 메시지가 출력된다. 이 메시지는 프로그램이 오류 없이 성공적으로 실행을 마쳤다는 뜻이다.
오류가 발생했을 때
프로그램을 잘못 입력했다면 오류가 발생할 수 있다. 혹시 프로그램을 실행한 결과가 앞의 그림 1-32와 많이 다르다면, 프로그램을 잘못 작성한 것이다. 앞의 예제는 정확히 따라 입력하기만 하면 되니 잘못 입력한 것이 없는지 잘 살펴보도록 하자. 처음에는 오류를 일으키기 쉽지만 익숙해지면 오류도 점점 줄어든다.
초보자가 실수하기 쉬운 몇 가지 오류를 확인해 두자. 가장 쉽게 접할 오류는 문법 오류다. 문법 오류는 여러분이 입력한 코드가 파이썬 문법에 맞지 않아 해석할 수 없을 때 발생한다. 파이참은 코드에서 문법 오류를 찾아 빨간 밑줄로 표시해 준다. 문법 오류가 있는 상태에서 프로그램을 실행하면 실행 과정에서 ‘SyntaxError: invalid syntax’와 같은 오류 메시지가 빨간 글자로 출력된다. 다음 그림은 첫 행의 괄호를 잘못된 기호로 닫아 오류가 발생한 모습이다.
그림 1-3 문법 오류가 발생한 모습
따옴표('
)를 열었다가 닫지 않는 실수도 저지르기 쉽다. 다음 그림은 첫 행에서 따옴표를 닫지 않아 오류가 발생한 예다.
그림 1-34 따옴표를 제대로 닫지 않았을 때
프로그래밍을 할 때는 사소한 철자 하나라도 틀리면 오류가 발생할 수 있다. 아래 그림의 예에서는 세 번째 행에서 name
에서 끝에 e
를 빠트려서 오류가 발생했다. 실행 과정을 자세히 살펴 보면, 프로그램이 정상적으로 실행되다가 세 번째 행을 실행하는 시점에서 오류가 발생했다는 것도 알 수 있다. 즉, 프로그램은 잘 실행되는 도중에 오류를 일으키기도 한다.
그림 1-35 철자를 틀려 실행 중에 오류가 발생한 예
프로그래밍을 하다 보면 이 외에도 여러 가지 오류가 발생할 수 있다. 인간은 누구나 실수를 하기 때문에 오류를 범하는 것은 아무리 숙련된 프로그래머라도 피할 수 없는 일이다. 오류가 발생하면 걱정하지 말고 코드를 자세히 살펴보자. 특히 코드에서 빨간색으로 표시된 부분 근처를 잘 확인해보면 보면 틀린 부분을 쉽게 찾을 수 있다.
1.3.3 첫 파이썬 프로그램 살펴보기
프로그램을 만들어 실행해 보았지만 아직 프로그램의 의미는 잘 모르는 상태다. 이 프로그램 코드를 살펴보고 파이썬 프로그램의 기본을 알아 보자. 아래 코드에는 각 행에 번호를 붙여 두었는데, 이 번호는 파이썬 코드가 아니라 코드를 설명하기 위해 임의로 달아둔 것이다. 파이참에 입력한 코드에도 왼쪽에 행 번호가 붙어 있는데, 그것과 같다.
코드 1-4 첫 파이썬 프로그램
1 # 첫 파이썬 프로그램
2
3 print('당신의 이름은 무엇인가요?')
4 name = input()
5
6 print(name, '님 반가워요.')
파이썬 프로그램은 기본적으로 위에서부터 한 행씩 차례대로 실행된다.
1번 행은 샵 기호(#
)로 시작되었다. 파이썬 코드에서 샵 기호가 나오면 샵 기호 뒤의 내용은 실행되지 않는다. 이것은 프로그램에 메모나 설명을 남기기 위해 사용되는 주석이다. 주석은 실행되지 않기 때문에 불필요하다고 생각할 수도 있지만, 사람이 코드를 더 잘 이해할 수 있게 해주기 때문에 중요하다. 프로그램은 컴퓨터만이 아니라 사람도 쉽게 읽을 수 있어야 한다. 1번 행은 전체가 주석이므로 실행되지 않고 넘어갔다.
2번과 5번 행은 빈 행이다. 빈 행은 실행되지 않고 다음 행으로 넘어간다. 빈 행도 사람이 프로그램을 읽기 쉽도록 할 때 사용된다. 글쓰기에서 의미상 구분이 필요할 때 단락을 나누는 것과 비슷하다.
3번과 6번 행에는 print()
함수가 사용되었다. print()
함수는 괄호 안의 내용을 화면에 출력할 때 사용한다. 텍스트를 출력할 때는 '당신의 이름은 무엇인가요?'
와 같이 글자를 따옴표('
)로 감싸주어야 한다. 따옴표는 다른 프로그램 코드와 텍스트를 구별하기 위한 것이다. 그래서 따옴표 자체는 출력되지 않는다.
4번 행에는 input()
함수가 사용되었다. input()
함수는 사용자에게서 키보드로 텍스트를 입력 받을 때 사용한다. 사용자가 입력한 데이터는 name
이라는 변수에 대입되었다. 변수와 대입에 대해서는 2장에서 설명할 것이다.
이제 프로그램을 다시 한 번 실행해 보면 프로그램의 실행 과정이 약간 이해될 것이다.
파이썬 프로그래밍 실습을 할 때 print()
함수를 잘 활용해야 한다. 이 함수를 사용하지 않으면 계산을 잘 했더라도 결과를 출력하지 못할 것이다.
이제 첫 번째 프로그램은 다 실습했다. 프로그램 편집기 탭의 first_program.py
에서 X
버튼을 눌러 파일을 닫아 두자.
그림 1-36 편집을 마친 파일 닫기
알아 두기
print()
함수: 화면에 데이터를 출력할 때 사용하는 명령input()
함수: 사용자에게서 데이터를 입력 받을 때 사용하는 명령‘함수’는 3장에서 자세히 배운다. 지금은 정해진 기능을 실행해주는 일종의 명령어라고 받아들이자.
1.3.4 대화식 셸 사용하기
파이썬 프로그램 파일을 작성하고 실행시키는 과정이 그렇게 어렵지는 않았을 것이다. 하지만 파이썬을 학습하는 과정에서 수많은 예제를 실행해 볼 텐데, 간단한 예제 하나 하나를 실행할 때마다 파일을 만들어야 한다면 불편하지 않을까? 그런 의문이 들었다면 대화식 셸을 만나볼 때다.
대화식 셸은 파이썬 프로그램 파일을 직접 만들지 않고도 간단한 파이썬 코드를 실행해 볼 수 있는 도구다. 대화식 셸에 파이썬 코드 한 행을 입력하면 마치 메신저로 채팅을 하는 것처럼 대화식 셸이 코드의 실행 결과를 출력해 준다.
파이참에서 대화식 셸을 사용하려면 파이참 상단 메뉴에서 ‘Tools -> Python Console…’ 을 클릭한다.
그림 1-37 대화식 셸 실행하기
그러면 앞서 프로그램을 실행했을 때와 마찬가지로, 파이참 화면 아래쪽에 콘솔 탭이 열린다. >>>
이라는 기호(프롬프트)가 나오고 커서가 깜빡일 것이다. 여기에 원하는 파이썬 코드를 입력하여 바로 실행할 수 있다.
그림 1-38 대화식 셸
대화식 셸에 print(1234 + 5678)
이라고 입력해 보자. 입력한 식의 계산 결과가 아래 그림과 같이 6912
하고 출력될 것이다. 이처럼 대화식 셸은 파이썬 코드가 한 행 입력될 때마다 바로 그 코드를 실행한다. 프로그램을 작성하고 실행하는 과정을 거치지 않고 바로 결과를 확인할 수 있어 편리하다.
그림 1-39 대화식 셸에서 코드 실행하기
또 한가지 중요한 점이 있다. 대화식 셸에는 print()
함수를 사용하지 않아도 코드의 실행 결과가 저절로 화면에 출력된다. print()
없이 1234 + 5678
만 입력해 보면 확인할 수 있다.
그림 1-40 대화식 셸은 print()
함수 없이도 결과를 출력한다
이처럼 몇 행 안되는 파이썬 코드의 실행 결과가 궁금할 때는 대화식 셸을 이용하면 된다. 프로그램 파일을 작성하는 도중에도 대화식 셸을 열어 활용할 수 있다. 대화식 셸은 파이썬 프로그래머들이 애용하는 편리한 도구다.
- 대화식 셸: 파이썬 코드의 실행 결과가 궁금할 때는 대화식 셸에 입력해 보자!
help 함수
이 책을 학습하면서 print()
, input()
과 같은 함수들을 많이 접하게 될 것이다. 이런 함수들의 사용법을 다 외우기는 어렵지 않을까? 파이썬 프로그래밍을 하는 중 함수의 사용법이 잘 기억나지 않으면 help()
함수로 도움말을 볼 수 있다. 대화식 셸에서 help()
함수에 알고 싶은 함수의 이름을 적어 실행하면 된다. 예를 들어, help(print)
라고 입력하면 print()
함수의 사용법을 볼 수 있다.
코드 1-5 help() 함수로 print() 함수 도움말 보기
>>> help(print)
Help on built-in function print in module builtins:
print(...)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.
도움말이 영어로 출력되는 점은 아쉽지만, 파이썬 실습 도중 빠르게 찾아볼 수 있어 편리한 help()
함수를 기억해두자.
help()
함수: 파이썬 함수의 사용법이 궁금할 때help(함수이름)
을 실행하여 도움말을 볼 수 있다.
1.3.5 프로그램 실습 과정
첫 프로그램을 만들어 본 경험에 비춰, 프로그램 실습 과정을 정리해 보자.
- 파이참을 실행한다.
- 각 장마다 chapter 디렉터리를 만든다.
- 실습할 파이썬 파일을 만든다.
- 파일에 프로그램 코드를 작성한다.
- 프로그램을 작성하는 도중 코드의 실행 결과가 궁금할 때는 대화식 셸에 입력해 본다.
- 함수의 이름을 알 때, 함수의 사용법을 보고 싶으면
help()
함수를 사용한다.- 작성한 프로그램을 실행해 본다.
- 오류가 발생한 경우 4로 돌아가 오류를 수정한다.
- 프로그램의 실행 결과가 만족스러울 때까지 4로 돌아가 프로그램을 개선한다.
- 완성!
앞으로 이 책의 내용을 실습하거나 연습문제를 풀 때는 이 과정을 따르면 된다.
댓글 남기기