본문 바로가기
Python

[Python] 파이썬 - 04. __str__

by Hoody Coder 2023. 2. 25.

class Computer():
    cpu = 1
    ram = 4
    cooler = 8
    mouse = 1

myCom = Computer()
print(myCom)

  파이썬으로 클래스를 생성하면 기본적으로 제공되는 메소드들 중에서 많이 쓰는 메서드 중 하나는  __str__(self) 이다.

__str__()은 어떠한 인스턴스를 출력해줄때, 그값이 어떻게 출력되는지를 세팅해주는 메서드중 하나이다. 

단적인 예로 위의 코드를 그냥 print() 로 찍었을때 출력되는 값은 어떻게 나올까?

아무것도 설정되지 않은상태에서의 인스턴스를 호출하면 print()시 해당 클래스의 객체 주소값이 출력된다. 

그렇다면 이번엔 __str__()을 사용해, 우리가 원하는 값이 출력되도록 해보자

 

class Computer():
    cpu = 1
    ram = 4
    cooler = 8
    mouse = 1

    def __str__(self):
       return f"Computer have {self.cpu} cpu, {self.ram} ram"

myCom = Computer()
print(myCom)

 

이렇게 우리가 선언한 값으로 출력되는 것을 볼 수있다. 

그런데 여기서 우린 "" 앞에 f를 붙여서 처음보는 사람들은 어떤 문법인지 궁금할 것이다. 

이것을 f-string이라고 부르는데, 이는 다음 게시글인 formating과 f-stirng formating을 통해 확인해보자

 

 

Index로 돌아가기