본문 바로가기
Category/Python

파이썬 객체를 문자열로 표현하기 __str__

by Corinee 2024. 9. 11.
728x90
반응형

__str__ 메서드 파이썬의 특별 메서드(special method) 중 하나로 파이썬의 객체를 문자열로 표현할 때 호출되며, 파이썬 문법에 속합니다. 예를 들어, 사람(Person) 클래스를 정의하고, 그 객체가 출력될 때 어떻게 보일지를 __str__ 메서드를 통해 정의할 수 있습니다.

예시: Person 클래스

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age
    
    def __str__(self):
        return f"{self.name}, {self.age} years old"

# Person 객체 생성
person = Person("Alice", 30)

# Person 객체를 출력
print(person)  # Alice, 30 years old 출력

코드 설명:

  1. Person 클래스는 name과 age라는 두 속성을 가집니다.
  2. __str__(self) 메서드는 객체가 출력되거나 문자열로 변환될 때, name과 age를 포함한 문자열을 반환합니다.
  3. print(person)을 하면, __str__ 메서드가 호출되어 **"Alice, 30 years old"**라는 문자열이 출력됩니다.

__str__ 메서드가 없을 경우:

만약 __str__ 메서드를 정의하지 않으면, print(person)은 사람이 이해하기 어려운 기본 객체 정보 (예: <__main__.Person object at 0x7ff...> 같은 형식)만 출력하게 됩니다.

즉, __str__ 메서드를 사용하면 객체를 사람이 읽기 쉽게 정의할 수 있어, 디버깅이나 로깅할 때 객체의 상태를 보다 쉽게 파악할 수 있습니다.

'Category > Python' 카테고리의 다른 글

Python 가상 환경이란?  (1) 2024.09.16
RotatingFileHandler란?  (0) 2024.09.16
pip란?  (0) 2024.09.10
pip를 최신 버전으로 업그레이드하려면?  (0) 2024.09.10
파이썬 가상 환경 만들기(cmd 창)  (0) 2024.09.10