도구로서 불리언은 조건 판단을 가능하게 한다. 프로그램은 단순 계산뿐 아니라 상황을 판단해 그 결과에 따라 다음 동작을 결정하므로 조건을 만족하는가를 True나 False로 평가하는 불리언이 필요하다. 불리언은 불(Boole)의 논리 체계에 뿌리를 두었고, 파이썬에서 True와 False로 표현된다. True와 False의 첫 글자는 반드시 대문자로 써야 하며 문자열로 묶인 True가 아닌 값이므로 주의가 필요하다.
파이썬의 불리언 값은 bool 타입이다. True와 False의 타입은 bool이며, 파일상에는 True나 False를 그대로 사용한다. 불리언은 그대로 사용되거나 변수에 저장해 나중에 조건 판단에 활용할 수 있다. 숫자 비교나 문자열 비교처럼 두 값의 관계를 판단하는 비교 연산자는 항상 True 또는 False를 반환한다. 문자열은 사전식 순서를 따르며, 타입이 다르면 비교가 불가한 경우가 많다. 체인 비교를 통해 5 < 10 < 20처럼 하나의 식으로 읽기 쉽게 표현할 수 있다.
논리 연산자는 여러 조건을 하나로 묶어 최종적으로 True인지 False를 결정한다. and는 모든 조건이 True여야만 True이고, or는 하나만 True여도 True이며, not은 부정이다. 단축 평가를 통해 앞쪽 조건이 이미 결정되면 뒤쪽 표현식은 실행되지 않는다. 결과는 True/False가 아니라 평가된 값 자체가 반환될 수 있어 주의가 필요하다. 예를 들어 True and 20은 20을 반환하고, False or ‘Guest’는 ‘Guest’를 반환한다.
Truthy와 Falsy의 개념도 중요하다. 값 자체가 비어 있거나 의미가 없으면 False로 간주되고, 비어 있지 않으면 True로 간주된다. 숫자 0, 빈 문자열, 빈 컬렉션, None, False는 모두 Falsy로 취급된다. 반면 0이 아닌 숫자나 문자가 하나라도 있으면 Truthy로 평가된다. 이때 bool()로 간단히 확인할 수 있다.
포함 여부를 확인할 때 in/not in 연산자를 사용한다. 문자열의 부분 문자열 여부, 리스트나 튜플에 값이 포함되어 있는지, 딕셔너리의 키가 존재하는지 등을 간단히 판단할 수 있다. 딕셔너리의 값 포함 여부를 확인하려면 키를 검사하는 것이 기본이고, 값 포함 여부는 .values()를 사용해야 한다.
값 비교와 객체 비교의 차이도 숙지해야 한다. ==는 값이 같은지 비교하고, is는 같은 객체인지 비교한다. 파이썬의 내부 최적화로 같은 값이라도 다른 객체를 가리킬 수 있어 is의 결과가 항상 일정하지 않을 때가 있다. 특히 None은 시스템에 단 하나만 존재하는 특별한 객체이므로 None 여부 판단에는 is를 사용하는 것이 안전하다. None과의 비교를 제외하면 값 비교에는 가능하면 ==를 쓰는 것이 바람직하다.
조건식이 길어지면 가독성이 떨어지므로 괄호를 적극적으로 활용하는 습관이 좋다. 그리고 특정 패턴을 잘 활용하면 코드가 더 간결하고 유지보수도 쉬워진다. 예를 들어 범위 조건은 0 < x < 10처럼 자연스러운 파이썬식으로 표현하고, 비어 있는 값을 판단할 때는 if items:와 같이 값을 직접 이용하는 것이 파이썬다운 방식이다. 또한 단축 평가를 활용해 한 줄로 조건 판단과 대체 값을 함께 처리하는 패턴은 코드의 길이와 복잡도를 낮춘다.
실전에서 자주 쓰이는 패턴으로는 여러 조건의 조합, 기본값 제공, 포함 여부 판단, 삼항식의 활용, None과의 비교 방식, 길어진 조건문의 괄호 처리 등이 있다. 이러한 원칙을 적용하면 가독성과 안정성이 높아지며, 잘못된 비교나 부적절한 연산 순서로 인한 오류를 줄일 수 있다.
#
Python
#
파이썬조건문
#
파이썬입문
#
파이썬비교연산자
#
파이썬불리언
#
파이썬문법
#
파이썬단축평가
#
파이썬논리연산자
#
파이썬기초
#
파이썬공부
#
파이썬TruthyFalsy
#
파이썬is연산자
#
파이썬innotin
#
파이썬andornot
#
파이썬
#
PythonBoolean
#
파이썬초보