파이썬/변수와 데이터 타입

파이썬 Boolean, 조건문 완전 정리 - True/False, 비교/논리 연산, in, None, 단축 평가까지 한 번에 이해하기

creator6556 2025. 11. 30. 17:41

1 왜 Boolean과 조건 연산을 배워야 할까?

→ 프로그램은 계산만 하는 것이 아니라 상황을 판단하고, 그 결과에 따라 행동을 선택해야 함

→ 이 판단 결과는 항상 True(참) / False(거짓)

→ 비교 연산자가 조건을 만들고, 논리 연산자가 조건을 조합해 실제 로직을 완성함


2 Boolean(불리언 기초)

파이썬 Boolean 값TrueFalse뿐임

→ true, false는 오류이므로, 반드시 대문자로 시작해야 함

'True'는 문자열이고, True는 Boolean으로 완전히 다름


3 비교 연산자 - 두 값을 비교해 True/False 반환

연산자 의미
== 같다
!= 다르다
> 크다
< 작다
>= 크거나 같다
<= 작거나 같다

1-1 코드

print(10 > 5)

1-1 결과

1-2 코드 : 체인 비교

age = 15
print(0 < age < 18)

1-2 결과


4 논리 연산자 - 여러 조건을 묶어 판단

연산자 의미 True가 되는 조건
and 그리고 모든 조건이 True
or 또는 하나라도 True
not 아니다 원래 조건 결과가 False

2-1 코드

score = 95
grade = 'A'
print((score > 90) or (grade == 'A'))

2-1 결과


728x90

5 Truthy & Falsy - Boolean이 아니어도 참/거짓으로 평가

→ 조건문에는 True/False만 들어가는 게 아님

→ 파이썬은 값을 Boolean으로 평가해서 실행 여부를 결정

Truthy는 'a', '0', [1], (1,), {a:1}, 1 같이 값이 비어 있지 않은 경우

Falsy는 '', [], {}, (), 0, None, False 같이 값이 없거나 비어 있는 경우


6 포함 여부 검사 - in  / not in

값이 자료 안에 포함되어 있는지 확인

3-1 코드

print('a' in 'apple')  # True

3-1 결과

딕셔너리는 키를 기준으로 확인하므로, 값 확인은 .values()를 사용

3-2 코드

user = {
    'name':'Tom'
}
print('Tom' in user.values())

3-2 결과


7 == vs is

==값이 같은지 비교

is같은 객체인지(같은 메모리인지) 비교

None 비교만 예외적으로 is를 사용


8 단축 평가 (Short-circuit)

논리 연산에서 결고가가 이미 확정되면 뒤의 코드를 실행하지 않음

→ 반환 값은 Boolean이 아니라 마지막으로 평가된 값

4-1 코드

user = '' or 'Guest'
print(user)

4-1 결과


9 실전에서 가장 자주 쓰는 조건 패턴

5-1 코드 : 범위 조건

age = 20
print(20 <= age < 30)

5-1 결과

5-2 코드 : 빈 값 여부

items = []
if not items:
    print('값이 없음')
else:
    print('값이 있음')

5-2 결과

5-3 코드 : 조건에 따라 값 선택 (삼항 패턴)

score = 60
status = 'PASS' if score >= 60 else 'FAIL'
print(status)

5-3 결과

5-4 코드 : 여러 조건 조합

class User:
    def __init__(self, is_active, is_banned):
        self.is_active = is_active
        self.is_banned = is_banned

user = User(is_active=True, is_banned=False)

if user and user.is_active and not user.is_banned:
    print('로그인 완료')
else:
    print('로그인 실패')

5-4 결과

5-5 코드 : 기본값 제공

input_name = ''
username = input_name or 'Guest'
print(username)

5-5 결과


10 실수 없이 쓰는 올바른 습관

→ if x == True: 대신에 if x:를 사용하기

→ if x == False: 대신에 if not x:를 사용하기

→ if value == None:이 아니라 if value is None:이 맞음

→ if len(items) > 0: 대신에 if items:를 사용하기


Python Boolean과 비교,논리 연산에 대해 더 상세한 설명을 원하는 분들은 아래 사이트에 접속하기

Python Boolean과 비교,논리 연산


Python Boolean과 비교,논리 연산뿐만 아니라 다른 프로그래밍 언어에 대해 알고 싶은 분들은 아래 사이트에 접속하여 원하는 링크에 접속하기

프로그래밍 언어 정리 모음 

728x90