False는 파이썬에서 불리언 값 중 하나로, 거짓이라는 상태를 나타내는 고정된 값이다. 다른 값은 False처럼 취급될 뿐이며 False만이 진짜 논리적 거짓이다. 0, '', None은 각각 의미와 역할이 다르다.
None은 ‘값이 아직 없거나 일부러 비워둔 상태’를 나타내는 값으로, 0이나 빈 문자열로 표현할 수 없는 상황을 위해 존재한다. 따라서 None을 판단할 때는 항상 False로 취급된다. None은 0, '', []과 다르다.
값이 비어 있거나 0인 경우도 False로 본다. 0, 0.0, 0j처럼 숫자 크기가 0이면 False로 간주되고, ''(빈 문자열), [](빈 리스트), {}(빈 딕셔너리), ()(빈 튜플), set()(빈 집합)처럼 담고 있는 요소가 없으면 False로 판단된다. 이 값들은 타입이 아니라 상태로 인해 False가 된다.
Truthy 값의 기준은, 비어 있지 않고 0이 아니며 None이 아닌 경우이다. 존재한다는 뜻으로, None이나 비어 있음이 아니라면 존재한다고 판단된다. 대표적인 Truthy 값으로는 내용이 있는 문자열, 요소가 하나라도 있는 리스트, 튜플, 딕셔너리, 집합과 같이 무언가가 들어 있으면 된다. 0, 0.0, 0j를 제외한 양수, 음수, 실수 역시 값이 존재하면 Truthy이다. 생성되어 존재하는 객체나 함수, 클래스 인스턴스도 Truthy로 간주된다.
‘Truthy 값은 True이거나 True와 같은 값이다’는 잘못된 해석이며, Truthy는 파이썬이 True로 판단하는 값일 뿐이다. 실제로는 값이 비어 있지 않고 존재함이 판단의 기준이다.
자료형별 bool 판단 규칙으로는 숫자에서 0은 False, 0이 아니면 True이다. 문자열은 ''는 False이고, 길이가 1 이상인 문자열은 True이다. 공백만 있어도 문자열은 True로 본다. 컨테이너 타입은 내부 요소가 비어 있으면 False이고 하나라도 있으면 True다. None은 값이 없음을 명시적으로 나타내는 유일한 NoneType으로, 조건 판단에서는 항상 False로 간주된다.
초보자가 자주 헷갈리는 포인트로는 값과 문자열의 구분, 0과 False의 구분, None의 고유성 등이 있다. 값이 하나라도 존재하면 Falsy가 아니라는 점, 그리고 문자열의 내용이 존재하는 순간은 의미와 상관없이 False로 판단되지 않는 점을 기억해야 한다.
논리 연산은 항상 왼쪽에서 오른쪽으로 평가된다. 여러 조건을 한꺼번에 판단하지 않고 먼저 왼쪽 식을 평가하고 그다음 오른쪽 식을 평가한다. 괄호가 있으면 괄호 안이 먼저 평가되어 하나의 값으로 축약된 뒤 바깥 논리식을 이어서 평가한다.
#
개발자공부
#
파이썬초보
#
파이썬연산자
#
파이썬비교연산자
#
파이썬문법
#
파이썬독학
#
파이썬단축평가
#
파이썬논리연산자
#
파이썬기초
#
파이썬공부
#
파이썬TruthyFalsy
#
파이썬TrueFalse
#
파이썬bool
#
파이썬andor
#
파이썬
#
코딩기초
#
프로그래밍기초