Python에는 흔히 사용하는 산술, 비교, 논리 연산자 외에도 잘 알려지지 않았지만 강력한 기능을 제공하는 연산자들이 존재하며, 이번 질문에서는 이런 일반적이지 않은 연산자들의 종류를 살펴보고, 그 활용 사례 또한 확인해보겠습니다.
산술 연산자 (Arithmetic Operators)
연산자 | 기능 | 예시 | 결과 |
+ | 덧셈 | 2 + 3 | 5 |
- | 뺄셈 | 5 - 3 | 2 |
* | 곱셈 | 2 * 3 | 6 |
/ | 나눗셈 | 6 / 3 | 2.0 |
// | 몫 | 7 // 3 | 2 |
% | 나머지 | 7 % 3 | 1 |
** | 거듭제곱 | 2 ** 3 | 8 |
비교 연산자 (Comparison Operators)
연산자 | 기능 | 예시 | 결과 |
== | 값이 같은지 확인 | 5 == 5 | True |
!= | 값이 다른지 확인 | 5 != 3 | True |
> | 왼쪽 값이 큰지 확인 | 5 > 3 | True |
< | 오른쪽 값이 큰지 확인 | 5 < 3 | False |
>= | 왼쪽 값이 크거나 같은지 확인 | 5 >= 5 | True |
<= | 오른쪽 값이 크거나 같은지 확인 | 5 <= 3 | False |
논리 연산자 (Logical Operators)
연산자 | 기능 | 예시 | 결과 |
and | 두 조건이 모두 참인지 확인 | True and False | False |
or | 조건 중 하나라도 참인지 확인 | True or False | True |
not | 조건의 반대값 반환 | not True | False |
삼항 연산자
삼항 연산자는 조건에 따라 값을 간결하게 선택할 수 있는 구문입니다.
value = "성인" if age >= 18 else "미성년자"
활용 예시:
나이가 성인인지 확인하여 상태를 설정하는 코드에서 유용합니다.
age = 20
status = "성인" if age >= 18 else "미성년자"
print(status) # 출력: 성인
비트 연산자
비트 연산자는 데이터를 이진수 형태로 조작합니다. 데이터 압축, 권한 관리, 네트워크 프로토콜 작업 등에서 사용됩니다.
연산자 설명 예제 결과
연산자 | 설명 | 예시 | 결과 |
& | 비트 AND | 5 & 3 | 1 |
` | ` | 비트 OR | `5 |
^ | 비트 XOR | 5 ^ 3 | 6 |
~ | 비트 NOT | ~5 | -6 |
<< | 비트를 왼쪽으로 이동 | 5 << 1 | 10 |
>> | 비트를 오른쪽으로 이동 | 5 >> 1 | 2 |
활용 예시:
권한 설정에서 특정 비트를 켜거나 끄는 데 사용.
permissions = 0b1010
add_permission = 0b0100
new_permissions = permissions | add_permission
print(bin(new_permissions)) # 출력: 0b1110
멤버십 연산자
in과 not in 연산자는 값이 시퀀스(리스트, 문자열 등)에 존재하는지 확인합니다. 데이터의 포함 여부를 확인할 때 매우 직관적으로 사용할 수 있습니다.
fruits = ["apple", "banana", "cherry"]
if "apple" in fruits:
print("사과가 목록에 있습니다.")
아이덴티티 연산자
is와 is not 연산자는 두 객체가 동일한 메모리 주소를 참조하는지 확인합니다. 일반적인 비교 연산자(==)와는 다릅니다.
활용 예시:
변수가 None인지 확인할 때 자주 사용됩니다.
value = None
if value is None:
print("값이 없습니다.")
@ 연산자
@ 연산자는 행렬 곱셈을 위한 연산자입니다.
주로 NumPy 라이브러리와 함께 사용됩니다.
활용 예시:
import numpy as np
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])
result = A @ B
print(result)
# 출력:
# [[19 22]
# [43 50]]
컨텍스트 관리자 (with)
with 구문은 파일 작업, 데이터베이스 연결 등 리소스를 안전하게 관리할 수 있도록 도와줍니다. 작업이 완료되면 자동으로 리소스를 반환하거나 닫아줍니다.
활용 예시:
with open("example.txt", "r") as file:
content = file.read()
print(content)
위에서 설명한 연산자들은 특정 상황에서 매우 유용하게 사용될 수 있으며, 삼항 연산자는 간결한 조건문 작성에 도움을 주고, 비트 연산자는 효율적인 데이터 조작을 가능하게 하며, 슬라이싱 연산자와 @ 연산자는 데이터를 다루는 데 있어 강력한 도구입니다.
이러한 연산자들을 적절히 활용하면 Python 코드의 효율성과 가독성을 동시에 높이는 효과를 가져올 수 있습니다.
'프로그래밍 언어 > Python' 카테고리의 다른 글
[파이썬 개념 정리 18] scipy 라이브러리 (0) | 2024.08.02 |
---|---|
[파이썬 개념 정리 17] scikit-learn 라이브러리 (0) | 2024.08.02 |
[파이썬 개념 정리 16] Pandas의 DataFrame 마스터하기 6️⃣ (그룹별로 분석하기) (0) | 2024.08.01 |
[파이썬 개념 정리 15] Pandas의 DataFrame 마스터하기 5️⃣ (데이터 합치기) (0) | 2024.08.01 |
[파이썬 개념 정리 14] Pandas의 DataFrame 마스터하기 4️⃣ (날짜와 시간 데이터 다루기) (0) | 2024.07.31 |
데이터 분석을 공부하고 카페를 열심히 돌아다니는 이야기
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!