조건문은 특정 조건일 때 코드를 수행하도록 해주는 문법이다.
- if문
if조건:
(들여쓰기) 실행문..
if문의 조건식을 만족할 때 실행할 코드를 if본문(if body)라고 한다.
if 조건문은 분기를 위한 문법으로, 프로그램을 둘 이상의 흐름으로 나눠준다.
※ 자바에서처럼 '='은 값을 할당하는 의미로 사용하는 대입 연산자이므로
값을 비교할 때는 '==' 비교 연산자를 사용한다.
※ 실행문에 pass 키워드를 넣으면 아무 동작도 하지 않고 넘어갑니다. 그렇다고 실행문에 아무것도 넣지 않으면 에러가 발생하니, 아무 동작하지 않는 걸 원하면 pass 키워드를 넣어주도록 합니다.
※ 그래서 나중에 실행문을 넣어주고 싶을 땐 pass를 일단 넣어주고 주석으로 TODO를 남겨주면 나중에 찾아서 실행문을 넣기 좋다.
- else문
만약 if문의 조건식이 해당하지 않는 모든 조건은 else문으로 와서 그에 맞는 실행문을 수행하게 된다. 즉, if문의 조건식이 만족할 때와 만족하지 않지 않을 때의 수행문을 나눠 수행할 수 있게 됩니다.
else문은 if문 없이 단독으로 사용할 수 없다.
if 조건식:
실행문
else:
실행문
if문과 else문의 실행문의 들여쓰기의 크기는 같아야 한다.
· 표현식으로 for-else문 축약
x = 1
#for문
if x == 1:
print('x is 1')
else:
pinrt('x is not 1')
#표현식 : 변수 = 값 if 조건문 else 값
print('x is 1') if x==1 else print('x is not 1')
· 조건문
-숫자는 정수 실수 관계없이 0이면 거짓, 0이 아니면 참
-문자열은 내용이 없으면 거짓, 있으면 참
※ 앞에 not을 쓰면 반전
※ 파이썬에서 False로 취급하는 것
· None
· False
· 0인 숫자(0, 0.0 0j(복소수))
· 빈 문자열('',""), 리스트([]), 튜플(()), 딕셔너리({}), 세트(set())
· 클래스 인스턴스 메서드 __bool__(), __len__()이 0이나 False를 반환 시
-> 이것들을 제외하면 모두 True로 간주해도 무관
· 조건식 여러 개 지정
if문의 조건식을 and나 or로 연결
- 부등호의 경우 연달아 사용 가능
if n > 20 and n < 10:
print('x is bigger than 20 and smaller than 10')
if 10 < x < 20:
print('x is between 11 and 19')
- elif문
조건식을 여러 개 지정할 수 있다.
if문의 조건식이 거짓이면 실행되어 단독으로 사용할 수 없다.
else는 elif 뒤에 올 수 있으며, 없어도 무관하다.