파이썬의 논리 연산 and/or의 비밀 - 단축 평가 -
1. 논리 연산
A and B는
1)A가 True이고 B가 True이면 True
2) A가 True이고 B가 False이면 False
3) A가 False이고 B가 True이면 False
4) A가 False이고 B가 False이면 False
>>> A가 False이면 B에 상관없이 A and B는 False
A or B는
1) A가 True이고 B가 True이면 True
2) A가 True이고 B가 False이면 True
3) A가 False이고 B가 True이면 True
4) A가 False이고 B가 False이면 False
>>> A가 True이면 B에 상관없이 A or B는 반드시 True
2. 단축평가
파이썬은 and, or 같은 논리 연산에서 결과가 확실하면 그 다음을 보지 않고 첫번째 값을 바로 반환함
A가 False이면 B에 상관없이 A and B는 False
A가 True이면 B에 상관없이 A or B는 반드시 True
그래서 A가 False이면 print(A and B)는 A
A가 True이면 print(A or B)는 A
print(5 or 4)
5
print(5 or 0)
5
print(0 or 4)
4
print(0 and 4)
0
print(3 and 4)
4
print(3 and 0)
0
print(5 or 4)는 5 가 True니까 뒤를 보지 않고 바로 5를 return
print(0 or 4)는 0이 False니까 뒤를 더 봐야 True/False를 판단할 수 있어서 4를 return함
print(0 and 4)는 0이 False니까 뒤를 보지 않고 바로 0을 return
print(3 and 4)는 3이 True니까 뒤를 더 봐야 True/.False를 판단할 수 있어서 4를 return함
'프로그래밍 > Python' 카테고리의 다른 글
파이썬에서 가상환경 만드는 방법? (0) | 2022.07.26 |
---|---|
파이썬의 Falsy? - False로 취급되지만 False는 아닌 값 - (0) | 2022.07.25 |
enumerate의 숨겨진 비밀 (0) | 2022.07.25 |
os 모듈 완벽 활용법 (0) | 2022.07.23 |
파이썬에서 API를 활용하는 방법 기초 (0) | 2022.07.18 |