`if`, `elif`, `else`는 조건에 따라 실행 경로를 나눈다. 조건은 꼭 bool일 필요가 없고 객체의 참·거짓 규칙을 따른다.
items = []
if not items:
print("비어 있음")
value = 0
if value is None:
print("값 없음")
else:
print("0도 유효한 값")`and`와 `or`는 bool로 바꾸지 않고 결과를 결정한 피연산자 자체를 반환한다. `name = supplied or "guest"`는 supplied가 빈 문자열이어도 기본값으로 바꾼다. 빈 문자열이 유효하다면 명시적으로 None을 검사한다.
C++의 switch에 해당하는 구조로 Python 3.10 이상의 `match`가 있다. 단순 값뿐 아니라 리스트, 딕셔너리, 클래스의 구조도 분해한다. 포괄 패턴 `_`은 마지막에 둔다.
댓글
0개아직 댓글이 없습니다.