python/응용
dataclass: sort
wefree
2023. 7. 10. 11:40
코드
from dataclasses import dataclass, field
@dataclass(order=True)
class Person:
sort_index: int = field(init=False, repr=False)
name: str
age: int
def __post_init__(self):
self.sort_index = self.age
person1 = Person("Garalt", 30)
person2 = Person("Yennefer", 25)
print(person1 > person2)
print(person1)
결과
True
Person(name='Garalt', age=30)
주의
- sort_index 필드가 가장 맨 처음으로 와야 한다. (dataclass 는 기본적으로 필드 항목 순으로 정렬하는 듯?)
- sort_index 에서 repr=False 설정으로 print(person1) 을 했을 때 sort_index 항목은 출력되지 않는다.