제어문
제어문 (Control Statement)
- 파이썬을 기본적으로 위에서부터 아래로 순차적으로 명령을 수행
- 특정 상황에 따라 코드를 선택적으로 실행하거나 계속해서 반복하는 제어가 필요
조건문 (Conditional Statement)
- if문은 참/거짓을 판단할 수 있는 조건식과 함께 사용
- expression에는 참/거짓에 대한 조건식
- 조건이 참인 경우 이후 들여쓰기 돼있는 코드 블록 실행
- 이외의 경우 else 이후 들여쓰기 돼있는 코드 블록 실행
- else는 선택적으로 활용 가능
# 복수 조건문
score = 80
if score >= 90:
print('A')
elif score >= 80:
print('B')
elif score >= 70:
print('C')
else:
print('D')
조건 표현식(conditional expression)
- 조건문을 한 줄로 표현 가능
- 삼항 연산자로 부르기도 함
- 예시
# 다음의 코드와 동일한 조건 표현식은?
num = 2
if num % 2:
result = '홀수'
else:
result = '짝수'
print(result)
# 조건 표현식으로 표현해보기 (= 삼항연산자)
result = '홀수' if num % 2 else '짝수'
- 주의할 점은, 코드가 짧다고 해서 반드시 좋은 코드는 아님
- 예컨데 위의 경우, 코드의 의미를 이해하기엔 길지만 전자가 낫다.
반복문 (Loop Statement)
- while 문
- 종료 조건에 해당하는 코드를 통해 반복문을 종료시켜야 함
- for 문
- 반복 가능(iterable)한 객체를 모두 돌면 종료됨 (별도의 종료 조건이 필요하지 않음)
- 반복 제어
- break, continue, for-else
while문
- while문은 조건식이 참인 경우 반복적으로 코드를 실행 (=조건이 False가 될 때까지 반복)
- 조건이 참인 경우 들여쓰기 되어 있는 코드 블록이 실행됨
- 코드 블록이 모두 실행되고, 다시 조건식을 검사하며 반복적으로 실행됨
- 무한 루프를 하지 않도록 종료 조건을 설정해주는 것이 필수
for문
for문은 시퀀스(string, tuple. list, range)를 포함한 iterable한 객체 요소를 모두 순회함
- 처음부터 끝까지 모두 순회하므로 별도의 종료조건이 필요 없음
예시
# 변수명에 주의
chars = input()
for char in chars:
print(char)
- iterable 객체는 복수, 객체의 값을 하나하나 저장하는 변수는 단수로 설정
enumerate
리스트를 순회하면서 각 요소의 index값을 함께 출력하고자 할 때
- 내장함수 enumerate의 경우 (index, value) 형태의 tuple로 구성된 객체를 반환
start = (시작값)을 지정하여start number을 변경할 수 있음
members= ['minsu', 'john', 'dida']
for idx, member in enumerate(members):
print(idx, member)
반복문 제어
break
- 반복문을 종료함
- 종료 후 가장 가까운 코드블록으로 빠져나감
# while
n = 0
while True:
if n == 3:
break
print(n)
n += 1
--------------
0
1
2
# for
for in in range(10):
if i > 1:
print('0과 1만 필요해!')
print(i)
------------------------------
0
1
0과 1만 필요해!
continue
- continue 이후의 코드 블록은 수행하지 않고, 다시 위로 올라가 다음 반복을 수행
for i in range(6):
if i % 2 == 0:
continue
print(i)
------------------
1
3
5
for-else
- 끝까지 반복문을 실행한 이후에 else문 실행
- 만약 for문 하에서 break로 중단되면 이후의 else문은 실행되지 않음
# apple
for char in 'apple':
if char == 'b':
print('b 발견!')
break
else:
print('b 없음')
=> b 없음
# banana
for char in 'banana':
if char == 'b':
print('b 발견!')
break
else:
print('b 없음')
=> b 발견!
pass
아무것도 하지 않음
- 특별히 할 일이 없을 때 자리를 채우는 용도로 사용
- 반복문이 아니어도 사용 가능
ex) 함수
# pass
for i in range(5):
if i == 3:
pass
print(i)
------------------
0
1
2
3
4
# continue
for i in range(5):
if i == 3:
continue
print(i)
------------------
0
1
2
4'Python' 카테고리의 다른 글
| 객체 (0) | 2021.08.30 |
|---|---|
| 데이터 구조 (0) | 2021.08.30 |
| 컨테이너 (0) | 2021.08.30 |
| 2차원 리스트 생성 (0) | 2021.08.01 |
| enumerate() 내장 함수 (0) | 2021.08.01 |
댓글