시리즈:중급 프로그래밍 시리즈/파이썬: 두 판 사이의 차이

194번째 줄: 194번째 줄:


== 함수 ==
== 함수 ==
프로그래밍을 할 때, 특정한 일을 여러번 할 필요성을 느낄 때가 있습니다. 그 때 사용하는 게 함수입니다.
파이썬은 함수를 '''변수의 일종'''으로 봅니다. 그렇기 때문에 변수와 사용하는 방법은 같으나 모양이 다르기 때문에 여기서는 모양을 중심으로 해석하겠습니다.


<source lang="python">
def 이름(변수 목록):
    실행할 명령
예시:
def 귀요미플레이어(숫자):
    for i in range(1, 숫자 + 1):
        print (str(i) + " 더하기 " + str(i) + "은(는) 귀요미!")
귀요미플레이어(1)
귀요미플레이어(2)
결과:
1 더하기 1은(는) 귀요미!
1 더하기 1은(는) 귀요미!
2 더하기 2은(는) 귀요미!
</source>
{{쉽게 배우는 프로그래밍 입문}}
{{쉽게 배우는 프로그래밍 입문}}

2015년 5월 17일 (일) 22:16 판

문서의 내용이 너무 쉬워서 오늘부터 프로그래밍 할 수 있을 것 같습니다.

이 문서에는 독자적으로 연구한 내용이 들어갑니다. 다른 사람의 의견을 존중하면서 무례하지 않도록 작성해 주시고, 의견 충돌 시 토론 문서에서 토론해 주세요.

일단 Python은 타 프로그래밍과 다르게 문법상 예외라는게 없다. 베이직보다도 깐깐하다 그 때문에, 파이썬에서 만약 에러가 나온다면 그 부분은 대부분 예외적인 사항을 임의적으로 썼다는 이야기다. 흔히 예외가 적용되는건 중간에 탭을 쓰느냐 스페이스 네번을 누르냐 정도고그게 그거잖아 게다가 섞어쓰면 안 된다, 나머지는 몽땅 예외가 없다고 생각을 하면 되게 만들어져 있는 만큼, 알 수 없는 에러가 뜬다고 좌절하지 말자. 그냥 오타낸거라고 생각하면 된다.

그러니까, 제대로된 Python교본만 준비되어 있으면, 타 프로그래밍보다 훨씬 빠른 속도로 익힐수가 있다. 분명 어딘가 안되면 오타낸거고, 구사한 표현법이 오타가 난 것이다. 그 때문에 일주일정도만 노력하면 매크로를 만들수 있다. 진짜다!!

준비

다운로드

  • 윈도우의 경우
다운로드(32비트)
다운로드(64비트)
(32비트/64비트 중 어느 것인지 모르거나 이해하지 못한 경우 32비트 버전을 받으시면 됩니다.)
  • 대부분의 리눅스의 경우
패키지 관리자로 python 혹은 python3를 설치합니다.
    • 패키지 관리자가 없는 경우
지못미 다운로드해서 직접 소스를 컴파일 하면 된다.
  • OS X의 경우
지못미 다운로드

위의 링크는 Python 3.4버전을 다운로드 받습니다.

Python은 크게 Python 2.x버전과 Python 3.x버전으로 나뉜다. 두 버전은 세세한 문법에서 차이를 보이며, 이로 인해 Python 2.x의 코드를 3.x에서 그대로 사용하는 것은 불가능하다. 이렇게 된 이유는 Python 항목의 내용을 참고하자.

Python 3.x버전의 출시 초기에는 기존에 만들어진 자료와의 호환성 문제 등으로 인해 Python 2.x버전을 계속 사용하는 경향이 있었으나 Python 3.x의 호환성 문제 등이 개선되면서 굳이 추가적인 기능추가가 중단된 Python 2.x를 배워야 할 이유는 낮아졌다.

만약 아래의 강좌가 아닌 다른 강좌로 Python을 배우실 계획이라면 해당 강좌에서 사용하는 Python의 버전을 확인해야 한다. Python 3.x버전을 깐 상태에서 2.x시절의 코드를 그대로 넣으면 깔끔하게 에러가 나고, 이 반대도 마찬가지기 때문이다. 이왕이면 새로 배울거 Python 3.x버전으로 배우자.

실행

IDLE (Python 3.4 GUI)을 실행시킵니다.

왜 이걸 안하냐 했죠? Hello, World!

파이썬의 헬로월드 프로그램은 쉽게 배우는 프로그래밍 입문 시리즈 중 가장 짧고 이해하기 쉽습니다. 도발

print("Hello, World!")

단 한줄이면 됩니다. 참 쉽죠?

변수

일상에서 일이나 공부를 할때 어떤 정보를 기록하거나 머리에 암기하는 경우가 있습니다.

이와 마찬가지로 프로그램을 만들다 보면 항상 값(혹은 데이터)를 어딘가에 저장해놔야 할 상황이 옵니다. 프로그래밍을 할 때, 이러한 값을 저장할 수 있는 공간을 변수(variable)이라고 합니다.

변수의 선언

variable = 29
변수 = 84

앞에 이것저것 붙일 필요 없이 그냥 (변수명) = (값)을 입력해주면 된다. 게다가 Python 3부터 유니코드를 지원하기 때문에 변수명을 한글로 할 수도 있다!

자료형

자료형이란 프로그램에서 사용하는 자료를 효율적으로 그리고 쉽게 사용하고 저장하기 위해서 만들어 졌습니다. 파이썬에서는 다양한 데이터를 효율적으로 저장하기 위하여 다음과 같은 자료형을 지원합니다.

수(number)형

말 그대로 수를 나타내는 변수형입니다. 3, 3.14같은 숫자를 저장하기 위한 자료형입니다.

문자열(String)형

문자열이란 문자(A,B,C,가,나,다등등등)이 일렬로 있는 자료를 저장하기 위한 자료입니다.

리스트(List)형

일상생활을 보다보면 많은 정보를 어딘가에 적어놔야 할 때나, 순서를 붙여서 무언인가를 기록해야 할 때가 있습니다. 프로그램을 만들 때도 이와 같이 많은 정보를 저장하거나, 순서를 붙여서 정보를 저장해야 할 때가 자주 있습니다.

파이썬에서는 이와 같은 때를 위해서 리스트(List)라는 자료형이 있습니다.

a = ['리브레', '위키', '프로그래밍', '입문', 4]
b = []
c = list()

list() 명령어는 빈 리스트를 만들 때 사용합니다.

특정 위치에 들어있는 값을 불러오려면 index라는 앞에서부터 세는 순서로 지정해주면 된다. 예를 들어 위의 예에서 2번째 값인 '위키'를 불러오려면 아래와 같이 적으면 됩니다.

a[1]

두번째 값을 불러오는데 왜 인덱스가 1인가 하면 프로그래밍 언어에서는 일반적으로 모든 숫자가 1이 아닌 0에서 시작하기 때문이다.

뒤에서부터 세서 가져오는 방법도 있다. 뒤에서 2번째인 '입문' 을 가져오려면 a[3] -앞에서 4번째-로 가져올 수도 있지만 a[-2]로 하여 뒤에서 두번째를 가져오라는 명령을 통해 가져올 수도 있다.

왜 뒤에서부터 할 땐 0부터 시작하지 않느냐 물어볼 수도 있는데 이는 0은 음수가 없다 라는 기본적인 수학지식으로 대답할 수 있을 듯 하다.

사전(Dictionary)형

사전형은 리브레 위키를 생각하시면 됩니다. 리브레 위키에서 검색어로 '리브레 위키'라고 검색을 하면, 바로 리브레 위키항목에 있는 리브레 위키의 설명으로 갑니다.

이와같이 사전(Dictionary)형은 특정한 값을 이용하여 자료를 저장합니다. 이때, 검색하는 자료를 키(key)라고 하고, 자료는 값(value)라고 합니다.

진위(Boolean)형

Boolean형은 가장 기초적인 타입으로 "참", "거짓"의 2가지 값만을 가집니다.

a = True
b = 1 > 0 #True

조건문

조건문이랑 어떤 조건에 따라서 수행하고자 하는 행동을 하는 문장(코드)를 말합니다. 조건문의 경우, 수행하고 싶은 문장을 if문의 깊이 보다 한단계 더 넣어줘야 합니다.

기본 if문

조건문 기본.gif

if 조건 :
    조건문 안쪽 명령
    ....
  #조건문 안쪽 명령 끝
조건문 다음 명령
...

예시:
i = 3
if i > 0:
    print(i)
    i = i + 1
print(i)

결과:
3
4

if-else문

조건이 맞지 않을 때 실행해야 하나, 조건이 맞으면 실행하면 안되는 문장이 있을 때 씁니다. 조건문 if - else.gif

if 조건 :
    if문 명령
    ....
#if문 명령 끝
else:
   else문 명령
#else문 명령 끝
조건문 다음 명령
...

반복문

반복문은 일정한 명령을 반복적으로 수행할 필요가 잇을 때 사용합니다.

파이썬에는 while, foreach의 2가지 종류의 반복문이 있습니다. 파이썬의 특이한 점은 foreach 문으로 for 문을 대신한다는 점입니다.

while 문

while 문은 if 문과 유사한데요, 차이점은 if 문은 한번 확인하고 한번 실행하는 반면, while 문은 조건문이 "거짓"이 될 때까지 확인하고 실행한다는 점입니다.

while 조건 :
    while  명령
반복문 다음 명령


예시:
i = 0
while i < 5:
    print (i)
    i += 1 # i = i + 1
print ("done!")

결과:
0
1
2
3
4
done!

foreach 문

foreach 문은 리스트와 같은 데이터의 집합에 있는 데이터들을 한번씩 건드려볼 필요가 있을 때 사용합니다.

for 데이터 변수 이름(새로운 이름) in 데이터 집합 변수 이름(기존 이름):
    foreach  명령
반복문 다음 명령

예시1:
a = "리브레위키"
for character in a: #문자열은 문자의 집합으로 취급할 수 있기 때문에 문법적으로 맞습니다.
    print (character)
print(a)

결과:





리브레위키

예시2:
for i in range(1, 7): #파이썬에선 이와 같은 방법으로 for를 대체합니다. 참고로 range(1, 7)는 [1, 2, 3, 4, 5, 6]와 같습니다.
    print (str(i) + " 더하기 " + str(i) + "은(는) 귀요미")

결과2(보지 않아도 알것 같지만 그래도 보자):
1 더하기 1() 귀요미
2 더하기 2() 귀요미
3 더하기 3() 귀요미
4 더하기 4() 귀요미
5 더하기 5() 귀요미
6 더하기 6() 귀요미

함수

프로그래밍을 할 때, 특정한 일을 여러번 할 필요성을 느낄 때가 있습니다. 그 때 사용하는 게 함수입니다. 파이썬은 함수를 변수의 일종으로 봅니다. 그렇기 때문에 변수와 사용하는 방법은 같으나 모양이 다르기 때문에 여기서는 모양을 중심으로 해석하겠습니다.

def 이름(변수 목록):
    실행할 명령

예시:
def 귀요미플레이어(숫자):
    for i in range(1, 숫자 + 1):
        print (str(i) + " 더하기 " + str(i) + "은(는) 귀요미!")

귀요미플레이어(1)
귀요미플레이어(2)

결과:
1 더하기 1() 귀요미!
1 더하기 1() 귀요미!
2 더하기 2() 귀요미!

틀:쉽게 배우는 프로그래밍 입문