__str__ 메서드는 우리가 만든 객체를 출력할 때, 객체가 어떤 문자열로 표현될지를 정의한다. 만약 __str__ 메서드를 사용하지 않으면, 출력 값은 사람이 이해하기 어려운 메모리 주소 형태로 나타나게 된다. 따라서 이 메서드는 값을 사람이 쉽게 이해할 수 있도록 문자열 형태로 변환하기 위해 사용되는 메서드이다.
이해를 돕기 위해 강아지의 입양 정보를 담은 클래스를 예로 들어보자.
먼저 __str__ 메서드 없이 강아지 클래스를 만들면 어떻게 되는지 아래 코드문을 통해 살펴볼 수 있다
str 메서드 없이 구현
class Puppy:
def __init__(self, name, age, breed):
self.name = name
self.age = age
self.breed = breed
ruffus = Puppy("Ruffus", 0.1, "Beagle")
print(ruffus)
이 코드를 실행하면 ruffus 객체의 메모리 주소가 출력된다. 메모리 주소만 보면 어떤 값이 들어있는지 알기 어렵다.
이제 __str__ 메서드를 추가해보자.
class Puppy:
def __init__(self, name, age, breed):
self.name = name
self.age = age
self.breed = breed
def __str__(self):
return f"Puppy: {self.name}, Age: {self.age}, Breed: {self.breed}"
ruffus = Puppy("Ruffus", 0.1, "Beagle")
print(ruffus)
이 코드를 실행하면 ruffus 객체가 다음과 같이 출력된다.
Puppy: Ruffus, Age: 0.1, Breed: Beagle
이제 우리가 만든 강아지 객체가 훨씬 더 이해하기 쉬운 형태로 출력된다.
'파이썬' 카테고리의 다른 글
파이썬 상속 (Inheritance) (0) | 2024.06.11 |
---|---|
파이썬 Methods (1) | 2024.06.08 |
파이썬 클래스 이해하기 (2) | 2024.06.08 |
파이썬 arguments 에 대해 알아보기 (1) | 2024.06.08 |
파이썬 requests 모듈로 웹사이트 상태 코드 확인하기 (0) | 2024.06.07 |