제어문

✒️ 2025-05-19 10:26 내용 수정

Do it! 점프 투 파이썬(2017년 발행) 내용을 정리


특정 조건을 만족했을 때 동작하도록 하거나 같은 동작을 반복하도록 만드는 것


조건문

1. if 문

if 조건문:
	# 결과가 True일 때 실행
	print("True")
>>> a = 5
>>> if a < 10:
...     print("a < 10")
...
a < 10

2. if-else 문

if 조건문:
	# 결과가 True일 때 실행
else:
	# 결과가 False일 때 실행
>>> a = 5
>>> if a < 4:
...     print("a < 4")
... else:
...     print("a > 4")
...
a > 4

3. if-elif문

if 조건문:
	# 결과가 True일 때 실행
elif 조건문:
	# if 조건문은 False이고, 
	# elif 조건문은 True일 때 실행
else:
	# 두 조건문 결과가 모두 False일 때 실행
>>> a = ["apple", "banana", "kiwi", "pear"]
>>> if "berries" in a:
...     print("berries in a")
... elif "banana" in a:
...     print("banana in a")
... else:
...     print("no berries and bananas")
...
banana in a

4. 조건부 표현식

조건문이_참일_때_실행문 if 조건문 else 조건문이_거짓일_때_실행문
>>> if "a" in "abc":
...     print("abc")
... else:
...     print("bc")
...
abc

# 조건부 표현식으로 변경
>>> print("abc") if "a" in "abc" else print("bc")
abc

반복문

1. while 문

while 조건문:
	# 실행문
>>> a = 0
>>> while (a <= 10):
...     a += 1
...     print(f"{a}'s loop")
...
1's loop
2's loop
3's loop
4's loop
5's loop
6's loop
7's loop
8's loop
9's loop
10's loop
11's loop

2. for 문

for 순회변수 in 리스트/튜플/문자열:
	# 실행문
>>> li = ['a', 'b', 'c']
>>> for i in li:
...     print(i)
...
a
b
c
>>> a = range(10)
>>> a
range(0, 10)
>>> for i in range(10):
...     print(i)
...
0
1
2
3
4
5
6
7
8
9
>>> a = [(1, 2), ("a", "b"), (True, False)]
>>> for (first, second) in a:
...     print(f"{first} and {second}")
...
1 and 2
a and b
True and False
>>> a = [1, 2, 3, 4, 5, 6]
>>> b = [i * 2 for i in a]
>>> b
[2, 4, 6, 8, 10, 12]

Java의 for문과의 차이점

// Java
for (int i = 0; i < 10; i++) {}

for (String str : String[] strArr) {}
# Python
>>> for i in range(10):
	# 실행문

>>> for i in range(1, 10, 1):
	# 실행문

기타 제어문

1. pass 문

>>> alphabet = ['a', 'b', 'c']
>>> if 'a' in alphabet:
...     pass
... else:
...     print("test")
...
>>>

2. break 문

>>> a = 0
>>> while a < 10:
...     a += 1
...     print(f"{a}'s loop")
...     if a > 5:
...         break
...
1's loop
2's loop
3's loop
4's loop
5's loop
6's loop

3. continue 문

>>> a = 0
>>> while a < 10:
...     a += 1
...     if a % 2 == 0: continue
...     print(a)
...
1
3
5
7
9