파이썬 기초 문법
5. 파이썬 기초 문법¶
우리가 파이썬을 배워서 최종적으로 하고 싶은 일은 아마도 소프트웨어(프로그램)을 만드는 것입니다. 소프트웨어를 개발하는 행위를 프로그래밍 한다
또는 코딩한다
라고 표현합니다.
스크립트(Script)
는 “scriptura
”라는 단어는 “쓰기”를 의미하는 라틴어 동사 “scribere
”에서 유래하였습니다. 무엇인가를 글로 기록한 것을 스크립트라고 부릅니다. 영화, 연극, 방송 등에서 스크립트는 대본을 의미합니다. 스크립트에는 배우들이 해야 할 대사와 행동 지침이 포함되어 있습니다. 기독교에서는 성경을 “스크립트”라고 부릅니다. 성경은 “scriptura”라고 불리는데, 이는 “쓰여진 것” 또는 “기록된 것”을 의미합니다. 이 단어는 영어의 “script”와 어원이 같습니다. 따라서 성경을 “Holy Scripture”로 부르는 것은 “거룩한 글” 또는 “거룩한 기록”이라는 의미로 스크립트라고 부르기도 합니다.
소프트웨어 프로그램(program)이란 컴퓨터가 해야 할 일을 기록해 놓은 파일입니다. 우리가 첫 번째로 작성했던 hello.py
라는 파이썬 파일도 프로그램입니다. 파이썬 파일을 파이썬 스크립트(script)
라고 부르기도 합니다. 파이썬은 스크립트 언어로 설계되었습니다. 스크립트 언어는 코드를 한 줄씩 실행하는 인터프리터 방식으로 작동하며, 컴파일 과정 없이 바로 실행할 수 있습니다. 파이썬 파일은 이러한 특성을 반영하여 컴퓨터가 해야 할 일을 기록해 놓은 파일이기 때문에 “파이썬 스크립트(script)
”라고 부릅니다.
어떤 일을 하든지 기초가 중요합니다. 프로그래밍을 하는 것에도 당연히 기초가 중요합니다. 파이썬 프로그램 개발에서 가장 기초가 되는 것은 프로그래밍 문법입니다.
우리가 파이썬을 이용해 컴퓨터가 해야 할 일을 파이썬 스크립트로 기록할 때 아무렇게나 적어놔도 잘 작동할까요? 물론 아닙니다.
예를 들어 hello.py
내용에 다음과 같이 기록해 놨다고 가정해 봅시다.
# hello.py
컴퓨터야, 반가워^^
모니터에 "Hello world!"라고 출력해줘.
그럼 수고해 ~
컴퓨터는 당연히 이런 파이썬 스크립트를 이해할 수 없습니다.
원래 컴퓨터는 0
과 1
로 구성된 기계어만을 이해할 수 있습니다. 당연히 컴퓨터가 이해할 수 있는 기계어로 hello.py
를 작성해야 합니다. 하지만, 우리가 기계어를 다루기에는 너무 복잡하기 때문에 사람이 쓰기 편한 글자로 기록하면 컴퓨터가 이를 해석해서 작동하게 하면 편할 것입니다.
사람이 이해하기 쉬은 방식으로 기록해 놓은 표현을 컴퓨터 기계어로 해석하는 소프트웨어를 인터프리터(Interpreter)
라고 부릅니다. 기계어로 바꿔주는 소프트웨어를 컴파일러(Compiler)
라고 부릅니다. 파이썬은 사람이 입력한 스크립트의 한줄 한줄을 실시간으로 읽어서 실행하는 스크립트 방식이기 때문에 파이썬 인터프리터
가 작동하게 되는 것입니다.
하지만 사람들 각자는 쓰기 편한 표현은 모국어나 개인 성향에 따라서 천차만별 입니다. 파이썬 스크립트를 작성하는 사람마다 서로 다른 표현을 쓴다면 파이썬 인터프리터
는 굉장히 복잡해질 것입니다. 이런 복잡성을 제거하기 위해서는 당연히 전 세계 개발자들이 공통적으로 사용할 수 있는 약속을 정해 놨겠죠? 그것이 바로 프로그래밍 이야기 하는 프로그래밍 언어 (Programming Language)
라고 하는 것입니다.

Fig. 5.1 일을 하려면 서로 말이 통해야 겠죠?¶
영어를 사용하는 사람에게 일을 시키려면 영어로 글을 작성해야 합니다. 한국어를 사용하는 사람에게 의미를 전달할 때는 당연히 한국어로 글을 작성해야 할 것입니다. 컴퓨터도 마찬가지 입니다. 파이썬으로 컴퓨터에게 일을 시키려면 파이썬 언어를 사용해야 하고, 자바로 일을 시키려면 자바 언어로 글(프로그램)을 작성해야 합니다.
이 경우, 한국어나 영어로 글을 작성할 때 문법에 맞게 작성해야 다른 사람이 제대로 글쓴이의 의도를 파악할 수 있겠죠?
예를 들어 다음과 같은 스크립트가 있다면 다른 사람들이 이해할 수 있을까요?
# 문법에 맞지 않는 문장 예시
"고양이 먹다 호랑이 사과"
위 문장은 다음과 같이 해석될 수 있을 겁니다.
“고양이가 뭔가를 먹고, 호랑이는 사과를 먹는다.”
“고양이와 호랑이가 사과를 먹는다.”
“호랑이는 고양이가 사과 먹은것을 사과한다.”
“고양이가 호랑이를 먹은 것을 사과한다.”
기타 등등
위와 같은 문장은 해석의 모호성이 있기 때문에 상대방에게 정확히 의사를 전달하기 어렵습니다. 이런 문제점을 극복하는 방법은 각각 언어에 맞는 문법을 정하고 거기에 맞게 글을 작성하는 것입니다.
프로그래밍 언어에서도 마찬가지입니다.

Fig. 5.2 컴퓨터에게 일을 시키려면 서로 알아들을 수 있는 언어가 필요합니다.¶
파이썬 언어를 사용한다면 파이썬 문법에 맞게 스크립트를 작성해야 합니다. 물론 자바 언어를 사용한다면 자바 문법에 맞게 소스코드를 작성해야 합니다.
따라서 컴퓨터 소프트웨어(프로그램)을 개발하는 첫 걸음은 해당 언어의 문법을 정확히 이해하고 사용할 수 있는 능력을 기르는 것입니다.
이번 장에서는 파이썬을 이용해 프로그램을 개발하기 위한 기초 단계로 파이썬 문법에 대해 공부하게 될 것입니다. 이번 장을 이해하면 파이썬 개발자로서 작지만 큰 걸을을 시작한 것입니다.
인류 최초로 달을 밟았던 닐 암스트롱의 명언을 읽으며 이번 장을 시작해 보세요.
인류 최초로 달을 밟은 닐 암스트롱
That’s one small step for man, one giant leap for mankind.
(한 사람의 인간에게는 작은 걸음이지만 인류에게는 커다란 도약이다)