본문 바로가기

Python/Python 기초

구문 (Statement)

구문(Statement).md


구문 (Statement)

파이썬에서 다루는 구문을 상호대화식 셸에서 수행해서 쉽게 테스트해 볼 수 있도록예제를 모아놓았다.

만약 파이썬의 구문에 대해 더욱 자세히 알고싶다면 공식 파이썬 문서를 읽어보길 권한다.

추가 정보

대입문

대입문은 변수에 값을 저장할 때 사용한다.

구문은 변수 이름 다음에 ‘ = ‘ 연산자 그리고 값이나 표현식이 나온다.

표현식은 하나의 값으로 평가되어 변수에 저장된다.

>>> spam = 42
>>> spam
42
>>> eggs = 10 + 5
>>> eggs
15
>>>

break문

break문은 즉시 수행을 멈추고 위치해있는 가장 안쪽의 루프에서 빠져나온다.

다음 예제를 보면 print()는 한 번도 수행이 안 된다.

왜냐하면 print를 수행하기 전에 항상 break문에서 while문을 빠져나오기 때문이다.

>>> while True:
. . . break
. . . print('Hello!')
. . .
>>>

break 문은 안쪽의 루프에서만 나온다.

루프가 세 번 도는 동안 print(‘Hello!’)는 세 번 수행되지만

print(‘Goodbye!’)는 실행되지 않는 것에 주의하자.

>>> for i in range(3):
... print('Start of outer #%s' % (i))
... for j in range(3):
... print('Hello!')
... break
... print('Goodbye!')
... print('End of outer #%s' % (i))
...
Start of outer loop #0
Hello!
End
of outer loop #0
Start of outer loop #1
Hello!
End of outer loop #1
Start of outer loop #2
Hello!
End of outer loop #2
>>>

continue문

countinue문은 가장 안쪽 루프문의 처음으로 이동한다.

다음 예제에서 보면 print(‘Hello!’) 다음에 print(‘Goodbye!)는 한 번도 수행되지 않는데,

continue문이 나오면 항상 제어가 루프의 처음으로 이동하기 때문이다.

>>> for i in range(3):
... print('Hello! #%s' % (i))
... continue
... print('Goodbye!')
...
Hello! 0
Hello! 1
Hello! 2
>>>

continue문은 가장 안쪽의 루프에서만 작동한다. 다음 예제에서 continue 때문에

print(‘Goodbye!’)는 수행되지 않지만 print(‘End of outer #%s’ % (i))는 수행된다.

>>> for i in range(3):
... print('Start of outer #%s' % (i))
... for j in range(3):
...
print('Hello!')
... continue
... print('Goodbye!')
... print('End of outer #%s' % (i))
...
Start of outer loop #0
Hello!
Hello!
Hello!
End of outer loop #0
Start of outer loop #1
Hello!
Hello!
Hello!
End of outer loop #1
Start of outer loop #2
Hello!
Hello!
Hello!
End of outer loop #2
>>>

def문

def문은 새 함수를 정의할 때 사용한다.

def 키워드 다음에 함수 이름 그리고 파라미터를 포함하는 괄호, 콜론, 함수

코드를 포함하는 블록이 나온다. 함수를 정의하기 전에는 호출할 수 없다.

>>> def foo(name):
... print('Your name must be %s.' % (name))
...
>>> foo('Stan')
Your name must be Stan.
>>>

del문

del문은 변수를 지우거나 정의를 해제한다. 리스트나 딕셔너리(dict)의 아이템을 지울 때 유용하다.

del문은 del 키워드 다음에 지울 변수 이름이나 아이템이 나온다.

>>> spam = ['cats', 'dogs', 'mice']
>>> spam
['cats', 'dogs', 'mice']
>>> del spam[1]
>>> spam
['cats', 'mice']

for 루프문

for문은 딕셔너리의 키나 리스트의 값으로 변수를 설정한다.

for문의 break문이 나오면 루프를 일찍 끝낼 수 있다.

continue문은 바로 다음 아이템에 대해 반복하도록 반복문 처음에서 실행된다.

>>> spam = ['cats', 'dogs', 'mice']
>>> for i in spam:
... print i
...
cats
dogs
mice
>>>
>>> spam = {'animal':'cats', 'food':'pasta', 'color':'blue'}
>>> for i in spam:
... print i
...
animal
food
color
>>>

import문

import문은 여러분의 프로그램에서 다른 파이썬 스크립트(모듈)안에 있는

변수나 함수를사용할 수 있도록 한다.

파이썬에 이미 time, sys, random 같은 모듈이 들어 있다.

import문은 import 키워드, 모듈 이름이 나온다.

모듈 안의 함수를 사용하려면 함수 이름 앞에 모듈 이름과 마침표를 써줘야 한다.

>>> import random
>>> random.randint(0, 10)
6
>>>

if문, elif문, else문

if문, elif문, else은 블록이나 코드를 수행할지, 안 할지를 결정하게 한다.

if문과 elif문은 if나 elif 키워드로 시작하고 다음에 조건 (불리언 값 True나 False로 평가되는 표현식)

그리고 콜론과 코드 블록이 나온다.

만약 if문의 조건 True면, if 다음에 나오는 코드 블록을 수행한다.

if 다음의 조건이 False이고 elif 다음의 조건이 True이면, elif 다음의 코드 블록을 수행한다.

모든 if와 elif의 조건이 False이면 else문 다음의 블록을 수행한다.

if문, elif문, else문 다음에나오는 블록 중 오직 하나만 수행한다.

if문이 항상 제일 먼저 나온다. if문은 반드시 eilf나 else문이 필요하지는 않다.

만약 if문이 elif문, else문이 있으면, else문은 반드시 elif 다음에 와야 한다.

elif문은 몇 개가 있어도 상관없다.

>>> myPet = 'cat'
>>> if myPet == 'dog':
...     print('Dogs are very friendly.')
... elif myPet == 'bird':
...     print('Bird chirps are very loud.')
... elif myPet == 'cat':
...     print('Cats make me sneeze.')
... else:
...     print('I do not know what type of pet that is.')
...
Cats make me sneeze
>>>

return 문

return 문은 즉시 함수 수행을 멈추고 빠져나와 함수를 호출한 곳으로 돌아간다.

함수의 반환 값은 값이나 표현식으로 쓸 수 있다.

return문은 오직 함수 안에서만 사용한다(즉, def문 블록 안에서만 사용한다.)

return 다음에 아무것도 쓰지 않으면 함수는 None 값을 반환한다.

>>> def foo():
... return 42
...
>>> foo()
42
>>>

while 루프문

while 문은 코드 블록을 특정 조건 (불리언 값 True나 False로 평가되는 표현식)이

False가 될 때까지 계속 수행한다. 조건은 각 반복문 처음에서 검사한다.

while문은 break문을 만나면 반복문을 끝낼 수 있다.,

continue문을 만나면 즉시 while문의 처음으로 실행하게 되고 조건을 다시 검사한다.

>>> i = 0
>>> while i < 3:
... print('Value of i is %s' % (i))
..
. i = i + 1
...
Value of i is 0
Value of i is 1
Value of i is 2
>>>