1. 핵심 개념
- 기본적인 연산자(+, , == 등)를 함수처럼 사용할 수 있도록 해주는 내장 모듈
- 주로 map(), reduce(), sorted()에서 key나 func 인자로 활용됨
2. 대표 함수 목록
- 이항 연산 함수
| 설명 | 예시 | |
| operator.add(a, b) | a + b | add(2, 3) → 5 |
| operator.mul(a, b) | a × b | mul(4, 5) → 20 |
| operator.sub(a, b) | a - b | sub(9, 2) → 7 |
| operator.truediv(a, b) | a ÷ b | truediv(10, 4) → 2.5 |
| operator.floordiv(a, b) | a // b | floordiv(10, 4) → 2 |
| operator.mod(a, b) | a % b | mod(10, 3) → 1 |
- 비교 연산 함수 (= 이항 연산)
| 설명 | 예시 | |
| operator.lt(a, b) | a < b ( less than) | lt(2, 5) → True |
| operator.le(a, b) | a ≤ b (less than or equal) | le(2, 2) → True |
| operator.eq(a, b) | a == b (equal) | eq(3, 3) → True |
| operator.ne(a, b) | a ≠ b (not equal) | ne(3, 5) → True |
| operator.gt(a, b) | a > b (greater than) | gt(5, 2) → True |
| operator.ge(a, b) | a ≥ b (greater than or equal) | ge(5, 5) → True |
- 객체 기반 접근을 돕는 함수들 (lambda를 대체해 가독성을 높여줌)
| 설명 | 예시 | |
| operator.itemgetter(n) | 인덱스로 요소 꺼내기 (시퀀스/딕셔너리 등에서 인덱스/키로 요소 접근) → lambda x: x[i]으로 대체할 수 있음 |
itemgetter(1)(['a', 'b', 'c']) → 'b' |
| operator.attrgetter('x') | 객체의 속성 꺼내기 (객체의 속성(obj.name 등)을 꺼내는 함수) → lambda x: x.name으로 대체 가능 |
attrgetter('x')(obj) |
| operator.methodcaller('strip') | 문자열 메서드 실행 (문자열이나 객체의 메서드를 호출하는 함수) → lambda x: x.strip()으로 대체 가능 |
methodcaller('upper')('hi') → 'HI' |
'Language & Tool > Python' 카테고리의 다른 글
| 🐍정밀 소수점 제어 모듈, decimal (1) | 2025.06.17 |
|---|---|
| 🐍배열, 행렬 기반의 numpy (0) | 2025.06.17 |
| 🌱불변 텍스트 시퀸스, str(문자열) (0) | 2025.06.15 |
| 🐍try-except부터 사용자 정의 예외까지(Python) (0) | 2025.06.15 |
| 🐍함수의 도구화, functools (0) | 2025.06.15 |