Control Flow
제어문 (Control Statement)
- 조건문
- 반복문
제어문을 사용하여 순서도(Flow Chart)를 코드로 표현할 수 있습니다.
조건문 (Conditional Statement)
if
조건문
if
문은 반드시 참/거짓을 판단할 수 있는 조건과 함께 사용되어야 합니다.
if
조건이 참일 경우:
이후의 문장을 수행합니다.else
,elif
는 선택적으로 사용 가능합니다.
주의사항
- 반드시 들여쓰기에 유의해야 합니다.
- 파이썬에서는 코드 블록을
{}
가 아닌 들여쓰기로 판단합니다. - 보편적으로 PEP-8에서 권장하는 4spaces를 사용합니다.
- 파이썬에서는 코드 블록을
elif
복수 조건
2개 이상의 조건을 활용할 경우
elif <조건>:
을 활용합니다
중첩 조건문 (Nested Conditional Statement)
조건문은 다른 조건문에 중첩될 수도 있습니다.
조건 표현식 (Conditional Expression)
일반적으로 조건에 따라 값을 정할 때 활용하며, 삼항 연산자(Ternary Operator)라고 부릅니다.
활용법
num = int(input('숫자를 입력하세요: '))
value = num if num >= 0 else -num
print(value) # 절대값 출력
반복문 (Loop Statement)
- while
- for
while
반복문
while
문은 조건식이 참(True
)인 경우 반복적으로 코드를 실행합니다.
주의사항
while
문 역시 들여쓰기에 주의하여야 하며, 반드시 종료조건을 설정해야 합니다.
for
문
for
문은 시퀀스(String, Tuple, List, Range)나 다른 순회가능한 객체(iterable)의 요소들을 순회합니다.
for
문에서 요소 값에 다른 값을 할당해도 다음 반복구문에 영향을 주지 않습니다.
for i in range(5):
print(i)
i = 5 # dead code
리스트(list) 순회에서 index의 활용하기
range()
: 순회할 list의 길이를 활용하여 index를 조작할 수 있습니다.
enumerate()
: 인덱스(index)와 값(value)을 함께 활용 가능
lunch = ['짜장면', '초밥', '피자', '햄버거']
for idx, menu in enumerate(lunch): # 추가 변수 사용
print(idx, menu)
lunch_list = list(enumerate(lunch))
print(lunch_list) #[(0, '짜장면'), (1, '초밥'), (2, '피자'), (3, '햄버거')]
enumerate(lunch, start = 1)
으로 1부터 카운트 할 수도 있습니다.
반복제어 (break
, continue
, for-else
)
break
for
이나while
문에서 빠져나갑니다.
continue
이후의 코드를 수행하지 않고 다음 요소부터 계속하여 반복을 수행합니다.
for-else
끝까지 반복문을 시행한 이후에 실행됩니다.
- 반복에서 리스트의 소진이나 (
for
의 경우) 조건이 거짓이 돼서 (while
의 경우) 종료할 때 실행됩니다. break
를 통해 중간에 종료되지 않은 경우만 실행합니다.
pass
아무것도 하지 않지만, 문법적으로 문장이 필요할 때 사용합니다. (continue와 구분!)
'TIL: Python' 카테고리의 다른 글
파이썬 함수 (Function) 2: 스코프 (scope), 수명, 재귀 함수 (recursion) (0) | 2020.07.28 |
---|---|
파이썬 함수(Function) 1: 선언, return, 인자 (0) | 2020.07.28 |
파이썬 컨테이너 (Data Container) : List, Tuple, Set, Dictionary 등 (0) | 2020.07.26 |
파이썬 기초문법 (주석, 변수, 연산자, 표현식 등) (0) | 2020.07.26 |
마크다운(Markdown) 사용법 (0) | 2020.07.24 |