[컴퓨터 공학] operater 모듈함수

Colacan·2022년 5월 31일
1

[컴퓨터 공학]

목록 보기
3/3

operater 모듈함수

내장 연산자에 해당하는 함수집합을 내보냄

  1. from operator import itemgetter 와 같은 형식으로 이용

  2. itemgetter : sorted와 같은 함수의 key 매개변수에 적용하여 정렬

코드 출처 : https://wikidocs.net/109327 (점프 투 파이썬)

from operator import itemgetter

students = [
    ("jane", 22, 'A'),
    ("dave", 32, 'B'),
    ("sally", 17, 'B'),
]

# itemgetter에 1을 사용하여 나이순으로 정렬된다.
result = sorted(students, key=itemgetter(1))
print(result)
[('sally', 17, 'B'), ('jane', 22, 'A'), ('dave', 32, 'B')]
  1. attrgetter : 객체의 속성을 가져와 호출가능한 객체 반환
from operator import attrgetter

class Student:
    def __init__(self, name, age, grade):
        self.name = name
        self.age = age
        self.grade = grade


students = [
    Student('jane', 22, 'A'),
    Student('dave', 32, 'B'),
    Student('sally', 17, 'B'),
]

# age 속성으로 정렬된다.
result = sorted(students, key=attrgetter('age'))
print(result)
[{'name': 'sally', 'age': 17, 'grade': 'B'}, {'name': 'jane', 'age': 22, 'grade': 'A'}, {'name': 'dave', 'age': 32, 'grade': 'B'}]
  1. methodcaller : 특정 메소드를 호출하는 객체 반환
# methodcaller의 구성
# name 메서드를 호출하는 객체를 반환한다.
def methodcaller(name, /, *args, **kwargs):
    def caller(obj):
        return getattr(obj, name)(*args, **kwargs)
    return caller
profile
For DE, DA / There is no royal road to learning

0개의 댓글