류나의 작은 DB

27살 류나의 바르고 다르게 살기

Programming/Basic Python

포덕의 파이썬: 파이썬 입문하기

Ryuna (류준범) 2020. 7. 20. 20:48
지난 5월 23일에 작성한 글입니다. 블로그를 옮기면서 내용을 보강하여 작성합니다.

들어가기 전에

우선 이 글을 시작으로 한 이후의 [포덕의 파이썬] 시리즈를 왜 작성하게 되었는지부터 말씀드리려고 합니다. 제가 파이썬을 처음 배우기 시작한 것이 지금으로부터 10개월 전입니다. 1년도 채 되지 않았기에 아직 배우는 단계이고, 숙련자라고 하기에는 부족할지 모릅니다. 하지만 제가 프로그래밍을 처음 접했을 때 배운 언어인 C와 비교해서 파이썬은 너무나 재미있습니다. 그래서 파이썬의 매력을 널리 알리고 싶은데, 저는 파이썬을 잘 쓰는 실력자도 아니고 파이썬을 잘 설명해 줄 수 있는 능력자도 아닙니다. 그렇다면 제가 가진 ‘포켓몬에 대한 높은 관심’을 파이썬과 연결해서 보여드리면 포켓몬에 관심이 있는 몇몇 분들이라면 관심을 가지시지 않을까 생각이 들었고, 제가 가진 파이썬 지식을 정리도 할 겸 [포덕의 파이썬] 시리즈를 계획하게 되었습니다.

 

앞으로 이 시리즈를 쓸 때 ‘포덕 동생에게 파이썬 과외해주는 느낌으로’ 쓰려고 합니다. 그냥 한 분이라도 재밌게 읽어주시면 기쁠 것 같습니다. 감사합니다.

프로그래밍이란

프로그래밍이란 무엇일까요? 컴퓨터 프로그램을 구성하는 코드를 작성하는 것이 프로그래밍입니다. 컴퓨터와 대화하기 위해 사람들이 개발한 언어가 프로그래밍 언어입니다. 프로그래밍 언어를 배우는 건 귀찮을지 모르지만 재밌는 일입니다. 외국어를 배울 때는 대화할 수 있는 외국인이 주위에 없다면 조금 따분해질 수 있지만 컴퓨터는 늘 우리 곁에 있으니까요.

 

슬슬 포덕 엔진에 시동을 걸어볼까요. 아래 아홉 줄짜리 문구를 읽어보세요. 이게 뭘까요?

Mimikyu @ Life Orb 
Ability: Disguise 
Level: 50 
EVs: 4 HP / 252 Atk / 252 Spe 
Jolly Nature 
– Phantom Force 
– Play Rough 
– Shadow Sneak 
– Swords Dance

이게 뭔지 아신다구요? 와 따라큐 아시는구나! 따라큐의 8세대 템플릿 샘플이네요. 최신작에서 포켓몬 배틀 해 본 사람이라면 다 알 만한 사기 포켓몬! 그래요, 이건 포켓몬 배틀 시뮬레이터 쇼다운의 ‘텍스트(Paste)’입니다. 쇼다운 프로그램에 저 문구를 그대로 입력하면 문구에 쓰여 있는 세팅을 갖춘 따라큐라는 포켓몬을 배틀 시뮬레이션에 사용할 수 있게 되죠. (일부 포덕들은 쇼다운에 반감을 갖기도 하지만… 아무래도 제게 친숙한 프로그램이다 보니 종종 등장하게 될지 모르겠습니다. 미리 양해 부탁드려요.)

 

사실 쇼다운 텍스트도 프로그래밍 언어와 크게 다르지 않습니다. 프로그래밍 언어는 컴퓨터를 이해시키기 위해 만든 것이기도 하지만, 사람이 읽고 쓰기 위해서 만든 것이기도 합니다. 아마도 저 텍스트의 뜻을 전혀 모르는 사람이라도, 누군가가 ‘저 포켓몬의 이름은 따라큐고, 지닌물건은 생명의구슬이야. 특성은 탈이고, 레벨은 50이야. 어쩌구저쩌구’라고 설명해 준다면 어렵지 않게 이해할 수 있게 되겠죠? 이처럼 프로그래밍 언어도 규칙 몇 가지만 알면 자연스럽게 그 뜻을 알 수 있게 된답니다. 특히, 파이썬이라는 언어는 구문이 다른 언어들보다 깔끔해서 더 쉬워요.

파이썬이란

파이썬은 1990년 귀도 반 로섬(Guido Van Rossum)이라는 분에 의해 만들어졌습니다. 자신이 좋아하는 TV 코미디쇼인 Monty Python’s Flying Circus에서 파이썬의 이름이 탄생했다고 하네요. 파이썬의 사전적 의미는 신화에 등장하는 뱀으로, 그래서 파이썬의 로고에는 뱀 두 마리가 그려져 있답니다.

파이썬을 배워야 하는 이유에는 여러 가지가 있습니다. 그 중 하나는 역시 사람들이 많이 쓰는 언어라는 점인데요, 이 사이트에 가서 보시면 파이썬의 사용률은 무려 3위! C와 자바 다음으로 많이 사용되는 언어입니다. 또 파이썬은 아까 언급했듯 인간 지향적으로 만들어진 언어라 문법이 간단합니다.

 

파이썬의 간단한 코드 예시를 살펴볼까요. 다음은 제 최근 포켓몬 파티 엔트리를 출력해주는 코드입니다.

my_team = [
    '하마돈',
    '리자몽',
    '따라큐',
    '불비달마',
    '너트령',
    '팬텀'
    ]
for pokemon in my_team:
    print(pokemon) 

제 팀 6마리의 이름을 my_team이라는 리스트 변수로 저장하고, my_team의 각 포켓몬 이름을 pokemon이라는 변수에 할당해 포켓몬마다 그 이름을 출력해줍니다. 아직 ‘리스트’ ‘변수’가 뭔지는 모르셔도 됩니다. 나중에 다 다룰 생각이니까요 ㅎㅎ 하지만 위 코드의 마지막 두 줄은 눈여겨보셨으면 좋겠습니다. “내 팀의 포켓몬에 대해, 그 포켓몬을 출력해줘.” 마치 영어 문장처럼 읽히지 않나요? 그것이 바로 파이썬의 직관성입니다.

 

파이썬의 단점이 있다면 계산 속도가 조금 느리다는 점입니다. 그래서 프로그래밍 대회처럼 많은 계산량을 요구하는 상황에서는 그리 추천되지 않습니다. 하지만 일반적인 상황에서는 충분히 빠르고, 다양한 큰 프로그램을 만들 때 파이썬을 사용할 수 있습니다. 예를 들어 인싸의 전유물이 되어버린 인스타그램도 파이썬으로 만들어졌답니다.

파이썬 설치하기

윈도우 운영체제를 사용하신다면, https://www.python.org에서 다운로드받아 설치하면 됩니다. 맥 운영체제 또는 리눅스라면, 이미 파이썬 2.x 버전이 들어 있겠지만 앞으로의 제 시리즈에서는 파이썬 3.x를 다루므로 역시 같은 곳에서 다운로드받아 설치하면 되겠습니다.

 

설치를 완료했다면, 커맨드 창에서 python3를 입력해 파이썬을 실행해 봅시다. 윈도우에서는 ‘명령 프롬프트’, 맥에서는 ‘터미널’입니다.

위와 같이 (버전은 다를 수 있습니다) 나온다면 제대로 설치가 된 것입니다.

 

C 같은 언어를 배우셨던 분이라면 프로그래밍 언어가 커맨드 창에서 바로 실행된다는 게 잘 이해가 안 되실 수 있는데, 그건 파이썬이 인터프리터 언어라서 그렇습니다. C는 컴파일러 언어라서 코드를 작성하면 컴파일러라는 프로그램을 통해 실행 가능한 파일로 변환해야 프로그램이 동작하는데, 파이썬은 그냥 한 줄 한 줄 코드 그대로를 실행할 수 있는 언어입니다.

 

그럼 한 줄짜리 코드를 인터프리터 상에서 실행해 봅시다.

>>> print('Hello, Pokemon World!')
Hello, Pokemon World! 

>>> 오른쪽에 코드를 입력하면 다음 줄에 실행 결과가 표시됩니다.

 

파일로도 파이썬을 실행할 수 있는데, 그 전에 인터프리터만의 특징을 하나 짚고 넘어갑시다. 인터프리터에 값을 입력하면 자동으로 그 값이 출력됩니다.

>>> 'Hello, Pokemon World!'
'Hello, Pokemon World!' 

‘Hello, Pokemon World!’는 그 자체로 하나의 문자열 값이기 때문에 입력하면 그대로 출력이 이루어지는데, 이건 파이썬 언어 자체의 기능은 아닙니다. (문자열 값에 대한 것은 나중에 다루겠습니다)

 

이번에는 텍스트 편집기를 열어 파이썬 프로그램 파일을 만들어 봅시다. 편집기는 윈도우의 메모장을 써도 됩니다.

print('Hello, Pokemon World!') 

위와 같이 입력하고 helloworld.py로 저장합니다. 커맨드 창을 열어서 파일이 저장된 경로로 이동하고 python3 helloworld.py를 입력하고 프로그램을 실행하면, 다음과 같이 결과를 얻습니다.

첫 파이썬 프로그램을 실행한 것을 축하드립니다!

 

위 과정을 진행하면서 ‘메모장을 프로그래밍 하는 데 쓴다고?’라고 생각하신 분이 있을 것입니다. 실제로 복잡한 프로그래밍을 할 때는 텍스트 편집기를 쓰기보다 전문적인 에디터를 사용합니다. 저는 Visual Studio Code를 추천드립니다. https://code.visualstudio.com에서 다운로드하실 수 있습니다.

만약 Visual Studio Code를 파이썬 개발에 사용하신다면, 우선 위와 같이 Python Extension을 설치해야 합니다.