티스토리 뷰

python

[토막상식] - Falses in Python

게으른 the lazy 2020. 8. 9. 17:02

아래는 bool로 형변환을 했을 때 False가 되는 것들의 목록입니다. (출처)

 

  • False로 정의된 상수들
    • None
    • False

 

 

  • 값이 0인 것들 (자료형 무관)
    • 0
    • 0.0
    • 0j
    • Decimal(0)
    • Fraction(0, 1)

 

 

  • 빈 시퀀스 (자료형 무관)
    • ' ' (빈 문자열)
    • ( ) (빈 튜플)
    • [ ] (빈 리스트)
    • { } (빈 딕셔너리)
    • set( ) (빈 집합)
    • range(0) (빈 range)

 

 

 

단, [( )]과 같이 빈 튜플이 들어있는 리스트는 False로 인식되지 않습니다. 빈 튜플이라는 원소가 있는 것이니까요.

 

 

주의할 점이 하나 있습니다. 위에 나온 것들이 False로 인식된다고 해서 그 자체가 False인 것은 아닙니다. 예를 들어, 빈 리스트는 bool로 형변환을 하면 False가 되지만 그 자체가 False는 아닙니다.

 

 

따라서 아래와 같은 실수를 하지 않도록 조심해야 합니다.

 

 

그럼 아래와 같은 문법은 왜 동작할까요? bool 자료형이 와야 할 자리에 다른 것이 오면, 파이썬이 알아서 bool을 씌워서 True/False를 판단하기 때문입니다.

 

 

- 게으른 파이썬

댓글