class Dog:
def __init__(self,name):
self.char=name
def __str__(self):
return self.char
>>> spok=Dog("dsakj")
>>> print(spok)
dsakj
class Dog:
def __init__(self,name):
self.name=name
def __str__(self):
return self.name
>>> spok=Dog("akjds")
>>> print(spok)
akjds
class Dog:
def __init__(self,name):
self.name=name
def __info__(self):
return self.name
>>> spok=Dog("dnask")
>>> print(spok)
<__main__.Dog object at 0x0000000002FF5320>
第三个改变的唯一的东西就是名字,然后它没有成功。python类的特殊方法需要特殊名称吗?
请不要不小心格式化正确。我们可能错误地明白你想问什么。 – glglgl
这是为什么令人惊讶?为了将一个自定义对象转换为一个字符串,Python调用特殊方法'__str__',是的。所有特殊的魔法方法都有固定的名字。 –
恩,是的。这就是为什么它是“特殊的”。 – BrenBarn