파이썬의 Falsy? - False로 취급되지만 False는 아닌 값 -

1. 파이썬의 오브젝트

 

파이썬의 오브젝트의 특징은 어떠한 타입의 오브젝트든 if문의 조건문이나 논리연산의 피연산자로 사용할 수 있다는 점

 

파이썬의 임의의 오브젝트는 bool()함수를 이용해 자신의 논리값을 결정할 수 있다

 

 

엄밀한 True/False와 구분되어 참으로 취급되는 값은 Truthy, 거짓으로 취급되는 값은 Falsy라고 부른다

 

 

2. Falsy

 

파이썬에서 False로 취급되는 Falsy는 다음과 같다

 

0, 0.0, 0j <zero constant>

 

[] , {} , (), "", set(), range(0) <empty sequence>

 

None

 

이외의 모든 오브젝트는 truthy

 

 

3. 주의할 점

 

Truthy와 Falsy는 True와 False로 취급하지만 이들은 True/False와는 다른 값이라는 것이 주의할 점이다

 

그래서 조건문을 사용할때 Truthy와 Falsy를 사용하는데

 

자기가 명확하게 하고 싶어서 == True나 == False를 사용하면 논리적 오류를 일으킬 수도 있다

 

 

a = 3이면 Truthy인데, if a:라고 하면 파이썬이 a를 True라고 취급해서 print(a)를 수행하는데

 

if a == True:라고 하면 Truthy와 True는 다르니까.. print(False)를 수행하는걸 볼 수 있다

 

Falsy도 마찬가지로 다음과 같은 결과를 보인다

 

 

a = []으로 하면 Falsy니까 False로 취급되는 값이다.

 

if not a: 하면 a가 False로 취급되어 not a는 True로 취급되니까 print('참')을 수행하는데 

 

if a == False:로 하면 a가 False로 취급되지만 False는 아니니까 else가 수행되어 print(a)가 수행된다

 

 

4. 0과 1은 예외

 

모든 Falsy와 Truthy는 False와 True와는 서로 다르지만

 

 

0과 1은 예외이다.

 

0은 False와 같고 1은 True와 같다

 

 

참고

 

https://velog.io/@nellholic108/TIL-python-truty-falsy-value

 

truty , falsy value

우선 이 개념 정리는 이 사이트(https://www.freecodecamp.org/news/truthy-and-falsy-values-in-python/operandoperator truthy- true는 아니지만 true 처럼 '평가된다' (Values t

velog.io

 

https://stackoverflow.com/questions/39983695/what-is-truthy-and-falsy-how-is-it-different-from-true-and-false

 

What is Truthy and Falsy? How is it different from True and False?

I just learned there are truthy and falsy values in python which are different from the normal True and False. Can someone please explain in depth what truthy and falsy values are? Where should I use

stackoverflow.com

 

https://ryanking13.github.io/2018/04/05/python-truthy-falsey.html

 

파이썬에서의 Truthy Falsy

파이썬의 Truthy와 Falsy 개념을 소개하는 글입니다.

ryanking13.github.io

 

 

TAGS.

Comments