반응형
Notice
Recent Posts
Recent Comments
Link
Learner's Log님의 블로그
논리연산과 비교연산 본문
Python의 논리 연산과 비교 연산은 조건을 평가하고 프로그램의 흐름을 제어하는 핵심 도구입니다. 이 글에서는 이러한 연산자들을 활용하여 조건문을 작성하는 방법을 자세히 살펴보겠습니다.
1. Python의 논리 연산자
논리 연산자는 *Boolean 값을 결합하거나 부정하는 데 사용됩니다.
*Boolean: 논리적인 데이터 유형으로,참(True) 혹은 거짓(False) 두가지 값만을 가질 수 있게 됩니다.
논리 연산자의 종류
| and(논리곱) | 모두 참일 때 참 | True and True | True |
| or(논리합) | 하나라도 참이면 참 | True or False | True |
| not(논리부정) | Boolean 값을 반대로 바꿈 | not True | False |
사용 예시)
x = 10
y = 20
print(x > 5 and y > 15) # and 연산자
print(x > 15 or y > 15) # or 연산자
print(not (x > 15)) # not 연산자
첫번째 연산
- (x > 5)는 10 > 5이므로 True, (y > 15)는 20 > 15이므로 True
- and는 두 조건이 모두 True일 때만 True를 반환하므로 결과는 True
두번째 연산
- (x > 15)는 10 > 15이므로 False, (y > 15)는 20 > 15이므로 True
- or는 하나라도 True면 True를 반환하므로 결과는 True
세번째 연산
- (x > 15)는 10 > 15이므로 False
- not은 결과를 반전시켜 True를 반환하므로 결과는 True
결과값)
True
True
True
2. Python의 비교 연산자
비교 연산자는 두 값을 비교하여 Boolean 값을 반환합니다.
비교 연산자의 종류
| 연산자 | 설명 | 예시 | 결과 |
| == | 두 값이 같은지 비교 | 10 == 10 | True |
| != | 두 값이 다른지 비교 | 10 != 5 | True |
| > | 왼쪽 값이 더 큰지 비교 | 10 > 5 | True |
| < | 오른쪽 값이 더 큰지 비교 | 10 < 5 | False |
| >= | 왼쪽 값이 크거나 같은지 | 10 >= 10 | True |
| <= | 오른쪽 값이 크거나 같은지 | 10 <= 5 | False |
사용 예시
a = 15
b = 10
print(a == b) # 같은지 비교
print(a >= b) # 크거나 같음 비교
print(a != b) # 다름 비교
첫번째 연산
- a와 b가 같은지 확인
- 15 == 10은 False.
두번째 연산
- a가 b보다 크거나 같은지 확인
- 15 >= 10은 True.
세번째 연산
- a와 b가 다른지 확인
- 15 != 10은 True
결과값)
False
True
True
3. 논리 연산과 비교 연산의 조합
예제)
x = 25
y = 15
z = 30
result = (x > y) and (z > x)
print(result)
result = (x > y) or (z < x)
print(result)
result = not (x < z)
print(result)
풀이)
첫번째 연산
- (x > y)는 25 > 15이므로 True.
- (z > x)는 30 > 25이므로 True.
- and는 두 조건이 모두 참일 때만 True를 반환하므로 최종 결과는 True
두번째 연산
- (x > y)는 25 > 15이므로 True.
- (z < x)는 30 < 25이므로 False.
- or는 둘 중 하나라도 참이면 True를 반환하므로 최종 결과는 True
세번째 연산
- (x < z)는 25 < 30이므로 True.
- not은 결과를 반전시켜 False를 반환하므로 최종 결과는 False
결과값)
True
True
False
4. 논리 연산과 비교 연산의 실사용 사례
1) 조건문에서 사용
age = 18
has_permission = True
if age >= 18 and has_permission:
print("Access granted")
else:
print("Access denied")
1. 조건식
4행: age >= 18 and has_permission:
- (age >= 18)은 나이가 18 이상인지 확인.
예) age = 18이면 True. - has_permission은 허가 여부를 나타냄.
예) True이므로 그대로 사용.
and 연산자는 두 조건이 모두 참일 때만 True를 반환
2. 동작:
- 조건이 True라면 Access granted 출력.
- 조건이 False라면 Access denied 출력.
2) 리스트
numbers = [1, 3, 5, 7, 9] #필터링할 숫자들이 담긴 리스트.
filtered_numbers = [] #조건을 만족하는 숫자를 저장할 빈 리스트
for num in numbers: # 리스트 numbers의 각 요소를 순회.
if num > 5: #숫자가 5보다 큰지 조건 확인.
filtered_numbers.append(num) #조건을 만족하는 숫자를 빈 리스트에 추가.
print(filtered_numbers) #최종적으로 filtered_numbers = [7, 9]
5. 주의사항
1. 연산자 우선순위
- 비교 연산자가 논리 연산자보다 우선적으로 평가됩니다.
- 예: x > 5 and x < 10은 (x > 5) and (x < 10)으로 평가됩니다.
2. Boolean 값 이외의 평가
- Python에서는 0, None, 빈 문자열, 빈 리스트 등은 False로 평가됩니다.
예시)
if [] or 0:
print("This won't print")
else:
print("False values")
결과값)
False values
마무리
프로그래밍을 배우는 과정에서 결론을 명확히 이해하지 못한 채 넘어가거나 가볍게 학습했던 경험이 많습니다. 그로 인해 다시 공부해야 하는 상황에 직면하는 일이 반복되었습니다. 그러나 이러한 경험은 비록 더디더라도 기초를 탄탄히 다지며 차근차근 나아가고자 합니다. 중요한 것은 완벽함이 아니라, 꾸준히 배우고 발전하려는 의지라고 생각합니다. 그러므로 오늘도 저는 다시 공부하며 더 나은 내일을 준비하겠습니다🌱
반응형
'Python > [A to Z]Python' 카테고리의 다른 글
| 객체와 클래스 - 객체 지향 프로그래밍 (0) | 2025.02.08 |
|---|---|
| 함수(Function) (0) | 2025.02.06 |
| 리스트 튜플 세트 딕셔너리 (0) | 2025.01.03 |
| 변수와 문자열 다루기(+메서드) (0) | 2025.01.02 |
| python 환경 설정💻 (0) | 2024.12.30 |