- 파이썬에서는 and, or, not을 논리연산자로 사용합니다.
- 주로, 조건문이나 반복문에서 조건을 체크할 때 자주 활용됩니다.
- 파이썬 불리언 자료형인 True와 False는 int() 함수를 통해 정수형으로 형변환하는 경우 True는 1, False는 0의 값을 갖습니다.
- 파이썬에서 논리연산자 and와 or는 Short-circuit evaluation(짧은 평가)라는 특성을 갖고 있는데, 이 특징에서부터 기인하는 효율적인 작동방식을 조금 더 자세히 알아보겠습니다.
1. and
보통 두 피연산자가 모두 True면 True을 반환하는 연산자로 단순하게 알려져 있습니다만, 세부적으로는
- 첫 번째 피연산자가 True면 두 번째 피연산자의 불리언 값을 반환합니다.
- 첫 번째 피연산자가 False면 첫 번째 피연산자의 불리언 값을 반환하고, 두 번째 피연산자는 평가하지 않습니다.
True and True # 결과: True
False and True # 결과: False
True and False # 결과: False
2. or
or 또한 단순하게 두 피연산자 중 하나라도 True면 True를 반환하는 것으로 널리 알려져 있습니다. 세부적으로는
- 첫 번째 피연산자가 True면 첫 번째 피연산자의 불리언 값을 반환하고, 두 번째 피연산자는 평가하지 않습니다.
- 첫 번째 피연산자가 False면, 두 번째 피연산자의 불리언 값을 반환합니다.
True or True # 결과: True
False or True # 결과: True
True or False # 결과: True
False or False # 결과: False
3. not
not 뒤의 피연산자의 불리언 값을 반대로 반환합니다.
- 피연산자가 True면 False를 반환하고, False면 True를 반환합니다.
not True # 결과: False
not False # 결과: True
응용 예시)

# or 앞 부분이 빈 리스트(False)일 경우, or 뒷 부분인 '[-1]'(True)를 반환
def solution(arr, divisor):
return sorted([x for x in arr if x % divisor == 0]) or [-1]
'Python' 카테고리의 다른 글
[Python] Iterable 객체 생성 - 이터레이터 & 제너레이터 (0) | 2024.02.29 |
---|---|
[Python] Iterable 객체의 각 요소 Boolean 검사 - all(), any() 함수 (0) | 2024.02.28 |
[Python] 파이썬 정수 비트연산 (Feat.비트연산자) (0) | 2023.08.19 |
[Python] 파이썬 정렬 - sorted(), sort() 분석 및 차이점 (0) | 2023.08.13 |
[Python] 문자열 내 특정 부분을 다른 문자열로 교체 - replace() (0) | 2023.08.13 |
- 파이썬에서는 and, or, not을 논리연산자로 사용합니다.
- 주로, 조건문이나 반복문에서 조건을 체크할 때 자주 활용됩니다.
- 파이썬 불리언 자료형인 True와 False는 int() 함수를 통해 정수형으로 형변환하는 경우 True는 1, False는 0의 값을 갖습니다.
- 파이썬에서 논리연산자 and와 or는 Short-circuit evaluation(짧은 평가)라는 특성을 갖고 있는데, 이 특징에서부터 기인하는 효율적인 작동방식을 조금 더 자세히 알아보겠습니다.
1. and
보통 두 피연산자가 모두 True면 True을 반환하는 연산자로 단순하게 알려져 있습니다만, 세부적으로는
- 첫 번째 피연산자가 True면 두 번째 피연산자의 불리언 값을 반환합니다.
- 첫 번째 피연산자가 False면 첫 번째 피연산자의 불리언 값을 반환하고, 두 번째 피연산자는 평가하지 않습니다.
True and True # 결과: True
False and True # 결과: False
True and False # 결과: False
2. or
or 또한 단순하게 두 피연산자 중 하나라도 True면 True를 반환하는 것으로 널리 알려져 있습니다. 세부적으로는
- 첫 번째 피연산자가 True면 첫 번째 피연산자의 불리언 값을 반환하고, 두 번째 피연산자는 평가하지 않습니다.
- 첫 번째 피연산자가 False면, 두 번째 피연산자의 불리언 값을 반환합니다.
True or True # 결과: True
False or True # 결과: True
True or False # 결과: True
False or False # 결과: False
3. not
not 뒤의 피연산자의 불리언 값을 반대로 반환합니다.
- 피연산자가 True면 False를 반환하고, False면 True를 반환합니다.
not True # 결과: False
not False # 결과: True
응용 예시)

# or 앞 부분이 빈 리스트(False)일 경우, or 뒷 부분인 '[-1]'(True)를 반환
def solution(arr, divisor):
return sorted([x for x in arr if x % divisor == 0]) or [-1]
'Python' 카테고리의 다른 글
[Python] Iterable 객체 생성 - 이터레이터 & 제너레이터 (0) | 2024.02.29 |
---|---|
[Python] Iterable 객체의 각 요소 Boolean 검사 - all(), any() 함수 (0) | 2024.02.28 |
[Python] 파이썬 정수 비트연산 (Feat.비트연산자) (0) | 2023.08.19 |
[Python] 파이썬 정렬 - sorted(), sort() 분석 및 차이점 (0) | 2023.08.13 |
[Python] 문자열 내 특정 부분을 다른 문자열로 교체 - replace() (0) | 2023.08.13 |