__repr__ 메서드의 목적은 무엇입니까?
def __repr__(self):
return '<%s %s (%s:%s) %s>' % (
self.__class__.__name__, self.urlconf_name, self.app_name,
self.namespace, self.regex.pattern)
이 방법의 중요성/목적은 무엇입니까?
__repr__
개체의 인쇄 가능한 표현을 반환해야 합니다. 이 개체를 만들 수 있는 방법 중 하나일 가능성이 높습니다.여기에서 공식 설명서를 참조하십시오. __repr__
개발자들에게 더 많은 것을 제공하는 반면,__str__
최종 사용자를 위한 것입니다.
간단한 예:
>>> class Point:
... def __init__(self, x, y):
... self.x, self.y = x, y
... def __repr__(self):
... cls = self.__class__.__name__
... return f'{cls}(x={self.x!r}, y={self.y!r})'
>>> p = Point(1, 2)
>>> p
Point(x=1, y=2)
이는 Python 설명서에 잘 설명되어 있습니다.
repr(개체):개체의 인쇄 가능한 표현을 포함하는 문자열을 반환합니다.이 값은 변환(역따옴표)을 통해 산출된 값과 동일합니다.이 작업을 일반 기능으로 액세스할 수 있으면 유용할 수 있습니다.많은 유형의 경우, 이 함수는 다음으로 전달될 때 동일한 값을 가진 객체를 생성하는 문자열을 반환하려고 시도합니다.
eval()
그렇지 않으면 표현은 객체의 이름과 주소를 포함하는 추가 정보와 함께 객체 유형의 이름을 포함하는 대괄호로 묶인 문자열입니다.클래스는 다음을 정의하여 이 함수가 인스턴스에 대해 반환하는 것을 제어할 수 있습니다.__repr__()
방법.
여기서 볼 수 있는 것은 의 기본 구현이며, 이는 직렬화 및 디버깅에 유용합니다.
__repr__
독립 실행형 Python 인터프리터에서 클래스를 인쇄 가능한 형식으로 표시하는 데 사용됩니다.예:
~> python3.5
Python 3.5.1 (v3.5.1:37a07cee5969, Dec 5 2015, 21:12:44)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> class StackOverflowDemo:
... def __init__(self):
... pass
... def __repr__(self):
... return '<StackOverflow demo object __repr__>'
...
>>> demo = StackOverflowDemo()
>>> demo
<StackOverflow demo object __repr__>
a인 경우__str__
메소드가 클래스에 정의되지 않았습니다. 메소드를 호출합니다.__repr__
인쇄 가능한 표현을 만들기 위해 기능합니다.
>>> str(demo)
'<StackOverflow demo object __repr__>'
또한.print()
수업시간에 부를 전화__str__
결석으로
서류요, 괜찮으시다면
__repr__ 메서드는 단순히 Python에게 클래스의 객체를 인쇄하는 방법을 알려줍니다.
그들 사이의 차이점을 확인하기 위한 예(이 소스에서 복사했습니다),
>>> x=4
>>> repr(x)
'4'
>>> str(x)
'4'
>>> y='stringy'
>>> repr(y)
"'stringy'"
>>> str(y)
'stringy'
의 수익률repr()
그리고.str()
에 대해 동일합니다.int x
하지만 반환 값 사이에는 차이가 있습니다.str
y
하나는 형식적이고 다른 하나는 형식적입니다.공식적인 표현과 비공식적인 표현 사이의 가장 중요한 차이점 중 하나는 기본 구현이 다음과 같습니다.__repr__
str 값을 eval 인수로 호출할 수 있으며 반환 값은 다음과 같이 유효한 문자열 개체입니다.
>>> repr(y)
"'a string'"
>>> y2=eval(repr(y))
>>> y==y2
True
의 반환 값을 호출하려고 할 경우__str__
평가에 대한 주장으로, 결과는 유효하지 않을 것입니다.
구현하는 모든 클래스에 대해 repr을 구현합니다.변명의 여지가 없어야 합니다.가독성이 모호하지 않은 것보다 더 중요하다고 생각하는 수업에 대해 str을 구현합니다.
다음 링크 참조: https://www.pythoncentral.io/what-is-the-difference-between-str-and-repr-in-python/
언급URL : https://stackoverflow.com/questions/1984162/purpose-of-repr-method
'itsource' 카테고리의 다른 글
내 Oracle 암호 만료 시 확인 (0) | 2023.07.06 |
---|---|
장치가 asp.net 응용 프로그램을 테스트할 때 web.config를 사용하는 방법 (0) | 2023.07.06 |
SQL Server 2008:테이블의 열이 기존 기본 키 또는 고유 제약 조건과 일치하지 않습니다. (0) | 2023.07.06 |
git-diff 및 git 로그가 새 파일 및 삭제된 파일을 무시하도록 만드는 방법은 무엇입니까? (0) | 2023.07.06 |
가장 간단한 RGB 이미지 형식은 무엇입니까? (0) | 2023.07.01 |