Python에서 `or` 연산자 이해하기
Takashi Yamamoto
Infrastructure Engineer · Leapcell

Key Takeaways
or
연산자는 적어도 하나의 조건이 참이면True
를 반환합니다.- 단축 평가를 사용하여 첫 번째 조건이
True
이면 두 번째 조건을 건너뜁니다. - boolean 값이 아닌 경우,
or
는 첫 번째 truthy 값 또는 마지막 falsy 값을 반환합니다.
Python에서 or
연산자는 두 조건을 결합하는 데 사용되는 논리 연산자입니다. 조건 중 하나 이상이 참이면 True
를 반환하고, 그렇지 않으면 False
를 반환합니다. 이 동작은 프로그램의 흐름을 제어하고 여러 조건에 따라 결정을 내리는 데 기본적입니다.
or
연산자의 기본 사용법
or
연산자를 사용하는 구문은 간단합니다.
condition1 or condition2
여기서 condition1
과 condition2
는 True
또는 False
로 평가되는 표현식입니다. or
연산자는 이러한 조건을 평가하고 적어도 하나가 True
이면 True
를 반환합니다. 둘 다 False
이면 False
를 반환합니다.
예제:
x = 10 y = 5 if x > 5 or y > 10: print("적어도 하나의 조건이 참입니다") else: print("두 조건 모두 거짓입니다")
이 예에서 첫 번째 조건 x > 5
는 True
이고 두 번째 조건 y > 10
은 False
입니다. 조건 중 하나가 True
이므로 or
연산자는 True
를 반환하고 출력은 다음과 같습니다.
적어도 하나의 조건이 참입니다
단축 평가
Python의 or
연산자는 단축 평가라는 기술을 사용합니다. 이는 결과가 결정되는 즉시 평가가 중단됨을 의미합니다. 첫 번째 조건이 True
이면 Python은 전체 결과가 확실히 True
이므로 두 번째 조건을 평가하지 않습니다.
예제:
def check_first(): print("첫 번째 조건 확인 중") return True def check_second(): print("두 번째 조건 확인 중") return False if check_first() or check_second(): print("적어도 하나의 조건이 참입니다")
출력:
첫 번째 조건 확인 중
적어도 하나의 조건이 참입니다
이 예에서 check_first()
는 True
를 반환하므로 check_second()
는 호출되지 않아 단축 평가를 보여줍니다.
boolean 값이 아닌 값과 함께 or
사용
Python에서 or
연산자는 boolean 값이 아닌 값과 함께 사용할 수도 있습니다. 처음 만나는 truthy 값을 반환하거나 truthy 값이 없으면 마지막 값을 반환합니다. 값은 boolean 컨텍스트에서 True
로 평가되면 truthy로 간주됩니다.
예제:
a = '' b = 'Hello' result = a or b print(result) # 출력: Hello
여기서 a
는 빈 문자열이며, 이는 falsy이고 b
는 비어 있지 않은 문자열이며, 이는 truthy입니다. or
연산자는 a
가 falsy이므로 b
를 반환합니다.
이 동작은 기본값을 설정하는 데 특히 유용합니다.
예제:
user_input = '' default_value = 'Default' final_value = user_input or default_value print(final_value) # 출력: Default
이 경우 user_input
이 빈 문자열(falsy)이므로 final_value
에는 default_value
가 할당됩니다.
일반적인 함정
or
연산자는 강력하지만 일반적인 함정을 피하기 위해 해당 동작을 인식하는 것이 중요합니다. 그러한 함정 중 하나는 or
가 항상 boolean 값을 반환한다고 가정하는 것입니다. 앞에서 보았듯이 boolean 값이 아닌 값과 함께 사용하면 or
는 첫 번째 truthy 값 또는 truthy 값이 없으면 마지막 값을 반환합니다.
예제:
result = 0 or 'No data' print(result) # 출력: No data
여기서 0
은 falsy이므로 or
연산자는 boolean이 아닌 문자열 'No data'
를 반환합니다.
서로 다른 데이터 유형에 대한 or
연산자의 동작과 단축 평가를 이해하는 것은 효율적이고 버그 없는 Python 코드를 작성하는 데 매우 중요합니다.
FAQs
아니요, boolean 값이 아닌 값과 함께 사용하면 첫 번째 truthy 값 또는 마지막 falsy 값을 반환합니다.
결과가 알려지면 조건 평가를 중단하며, 종종 첫 번째 조건이 참이면 두 번째 조건을 건너뜁니다.
첫 번째 값이 falsy이면 or
는 두 번째 값을 반환하여 폴백에 유용합니다.
Leapcell은 Python 프로젝트 호스팅을 위한 최고의 선택입니다.
Leapcell은 웹 호스팅, 비동기 작업 및 Redis를 위한 차세대 서버리스 플랫폼입니다.
다국어 지원
- Node.js, Python, Go 또는 Rust로 개발하십시오.
무제한 프로젝트를 무료로 배포하십시오
- 사용량에 대해서만 지불하십시오. 요청도 없고 요금도 없습니다.
탁월한 비용 효율성
- 유휴 요금 없이 사용한 만큼만 지불하십시오.
- 예: $25는 평균 응답 시간 60ms에서 694만 건의 요청을 지원합니다.
간소화된 개발자 경험
- 간편한 설정을 위한 직관적인 UI.
- 완전 자동화된 CI/CD 파이프라인 및 GitOps 통합.
- 실행 가능한 통찰력을 위한 실시간 메트릭 및 로깅.
손쉬운 확장성 및 고성능
- 높은 동시성을 쉽게 처리할 수 있도록 자동 확장됩니다.
- 운영 오버헤드가 없어 빌드에만 집중할 수 있습니다.
설명서에서 자세히 알아보십시오!
X에서 팔로우하세요: @LeapcellHQ