반응형
__ str __ ()
과 __ unicode __ ()
를 구현해야하는시기에 대한 파이썬 규칙이 있습니까? 클래스가 __ str __ ()
보다 __ unicode __ ()
를 더 자주 재정의하는 것을 보았지만 일관성이없는 것 같습니다. 하나를 구현하는 것이 더 나은 경우 특정 규칙이 있습니까? 둘 다 구현하는 것이 필요합니까 / 좋은 습관입니까?
해결 방법
__ str __ ()
은 이전 메소드로 바이트를 반환합니다. __ unicode __ ()
는 새롭고 선호되는 방법으로 문자를 반환합니다. 이름이 약간 혼란 스럽지만 2.x에서는 호환성 이유로 인해 이름이 붙어 있습니다. 일반적으로 모든 문자열 형식을 __ unicode __ ()
에 넣고 스텁 __ str __ ()
메서드를 만들어야합니다.
def __str__(self):
return unicode(self).encode('utf-8')
3.0에서 str
에는 문자가 포함되어 있으므로 동일한 메서드의 이름은 __ bytes __ ()
및 __ str __ ()
입니다. 예상대로 작동합니다.
참조 페이지 https://stackoverflow.com/questions/1307014
반응형
'파이썬' 카테고리의 다른 글
파이썬 Python을 사용하여 정수를 반대로하고 회문인지 확인 (0) | 2021.02.03 |
---|---|
파이썬 Add list to set? (0) | 2021.02.03 |
파이썬 목록에서 상위 N 개 값의 인덱스 가져 오기 (0) | 2021.02.03 |
파이썬 How does condensed distance matrix work? (pdist) (0) | 2021.02.02 |
파이썬 Flask보기에서 JSON 응답 반환 (0) | 2021.02.02 |
댓글