介紹一下自定義類的時候__str__方法的作用。這個類方法(__str__())主要的作用是在print(實例)的時候返回你指定的字符串,一般來說在定義類的時候不用重寫這個方法的,但是在一些注重交互的模塊類的編寫上,可能會重寫這個類。下面直接進入例子。
我定義一個Car的類,具體代碼如下:
class Car():
def __init__(self,name):
self.name = name
接下來我們實例化這個類,並打印這個實例。
A = Car('BNW')
print(A)
我們一般就能看到這樣的結果:
<__main__.Car object at 0x000001E359C01640>
這個結果主要是告訴我們這個A是哪一個類(Car類),還有所在內存位置(0x000001E359C01640)
下面我們在Car類中重寫__str__方法,再打印這個A,看看會有什么差別。
class Car():
def __init__(self,name):
self.name = name
def __str__(self) -> str:
text = f'這是一輛車,名字是{self.name}'
return text
A = Car('BNW')
print(A)
這是一輛車,名字是BNW
可以看到,這個時候print(實例),將會出現我們指定好的str內容。這就是__str__()方法的用處,不過要注意,這個方法必須要保證返回的是一個str。