Python 05.제어문

제어문에는 if , for , while 등이 있다.

1. if

if (조건식):
	문장

조건식이 참인 경우 문장을 수행하며, 아닐시 문장을 수행하지 않고 넘어간다.

조건식에 있는 데이터는 bool 타입으로 변환한 후 판단된다.
숫자 0과 none, 빈 객체를 제외한 모든 데이터는 True로 변환된다.

if ~ elif

if ~ :
	stmt1
elif ~ :
	stmt2

if ~ elif 문에서는 여러 조건식을 판단하며, 만약 먼저 나오는 조건식에서 참 값을 반환하여 문장이 실행된다면 연결된 모든 elif 문은 판단하지 않고 생략한다.

else

if ~ :
	stmt1
else:
	stmt2

if문의 조건식이 참이 아닐때 else 문이 실행된다.

조건 표현식

if문을 표현식으로 바꿔 표현하는 방법. 코드의 간결성을 늘려준다.

x=1 ; y=77
result = x if x > y else y	# 한 문장 안에 간단하게 쓸 수 있다.
# 마지막 y 자리에 새로운 조건 표현식을 넣어 중첩해서 쓸 수도 있다.

2. for

list = [1,2,3,4,5]
for x int list:		#리스트 안에 있는 데이터들을 하나씩 접근함. 
	print(x)		#C 계열과 달리 x 로 객체 안의 값을 접근함.

range()를 이용한 for 문

for i in range(0,10):	#0 ~9 까지 반복문을 돈다
	print(i)

dictionary 형 + for

mydict = {'a':1,'b':2,'c':3}
for x in mydict:		# 바로 접근하면 key 값을 읽음
	print(x)
-->
a
b
c

for x in mydict.values():	# value를 읽고싶다면 values() 메소드 사용
	print(x)
-->
2
1
3

enumerate() + for

list = [a,b,c]
for i, x in enumerate(list):  #index를 알고 싶을 때 사용
	print(i,x)

->
1 a
2 b
3 c

break , continue

  • break : 반복문을 강제로 종료시킬 때 사용
  • continue : 반복문 안의 나머지 코드 수행을 건너뛰고 다음 항목을 순회시킴

리스트 내포

  • 매우 파이써닉한 문법. 간결성을 극대화 시켜줌

[expr for x in OBJECT (if 조건식)]

list = [x for x in ragne(0,10)]

list2 = ['even' for x in [2,4,5] if x%2==0] # if~ 는 필터의 역할만 한다
# if 하나만 있을땐 이렇게

list3 = ['even' if x%2==0 else 'odd' for x in list] # 조건 표현식을 이용
# else 까지 있을땐 이렇게

3. while

while 조건식:
	stmt

조건식이 참이라면 반복문을 수행한다. 보통 while문 안에 증감식을 둔다.
조건식과 증감식에 반복자를 사용하여 반복문을 도는 경우도 있다.

Comments