Python에서 __str__() 함수를 사용하여 객체의 문자열 표현을 정의하는 방법
Python에서 모든 객체에는 객체를 인쇄할 때 내용을 표시하는 데 사용되는 문자열 표현이 있습니다. 객체의 기본 문자열 표현이 우리의 요구 사항을 충족하지 못하는 경우가 많습니다. 객체의 문자열 표현을 사용자 정의하기 위해 Python에서 __str__() 함수를 사용할 수 있습니다.
__str__() 함수는 객체를 문자열로 변환하는 데 사용되는 특수 메서드입니다. 객체를 인쇄할 때 Python은 자동으로 객체의 __str__() 함수를 호출하고 반환 값을 문자열로 인쇄합니다.
다음은 Python에서 __str__() 함수를 사용하여 객체의 문자열 표현을 정의하는 방법을 보여주는 간단한 예입니다.
class Person: def __init__(self, name, age): self.name = name self.age = age def __str__(self): return f"Person(name={self.name}, age={self.age})" person = Person("Tom", 25) print(person)
위 코드에서는 Person이라는 클래스를 정의했습니다. 이 클래스에는 이름과 이름이라는 두 가지 속성이 있습니다. 나이. 클래스에 __str__() 함수를 정의하고 객체의 속성 값을 포함하는 형식화된 문자열을 반환합니다.
Person 객체를 생성하고 인쇄하면 Python은 자동으로 객체의 __str__() 함수를 호출하고 반환 값을 인쇄합니다. 출력 결과는 다음과 같습니다.
Person(name=Tom, age=25)
__str__() 함수를 정의하면 객체의 속성 값을 보다 직관적인 방식으로 표시할 수 있어 프로그램을 더 쉽게 디버그하고 이해할 수 있습니다. 우리는 필요에 따라 __str__() 함수의 문자열 형식을 사용자 정의하고 인쇄된 내용을 정확하게 제어할 수 있습니다.
__str__() 함수 외에도 Python은 __repr__()이라는 또 다른 특수 메서드도 제공합니다. __repr__() 메서드가 반환하는 문자열은 객체를 생성하는 데 사용할 수 있는 유효한 Python 표현식이어야 합니다. __str__() 함수를 정의하지 않으면 Python은 기본적으로 객체의 __repr__() 함수를 호출하여 객체를 인쇄합니다.
다음은 __repr__() 메서드를 사용하는 방법을 보여주는 예입니다.
class Person: def __init__(self, name, age): self.name = name self.age = age def __repr__(self): return f"Person(name={self.name}, age={self.age})" person = Person("Tom", 25) print(person)
이 코드는 이전 예제 코드와 거의 동일하며 유일한 차이점은 __str__() 대신 __repr__() 메서드를 사용한다는 것입니다. 방법 . 출력은 여전히 동일합니다.
Person(name=Tom, age=25)
__str__() 메서드는 주로 개체에 대한 설명 문자열을 제공하는 데 사용되는 반면, __repr__() 메서드는 주로 개체를 재구성하는 데 사용되는 문자열을 제공하는 데 사용됩니다. . 실제 개발에서는 필요에 따라 어떤 방법을 사용할지 선택하거나 두 가지 방법을 동시에 정의하여 보다 포괄적인 문자열 표현을 제공할 수 있습니다.
위 내용은 Python에서 __str__() 함수를 사용하여 객체의 문자열 표현을 정의하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!