我写了这节课:
class Dinosaurus:
def __init__(self, nimi, suurus, värv, toit):
self.nimi = nimi
self.suurus = suurus
self.värv = värv
self.toit = toit
但是当我试着用它的时候。。。你知道吗
Dinosaur = Dinosaurus ("Stegosaurus", "20", "sinine", "Liha")
print(Dinosaur)
我得到一个错误:
<__main__.Dinosaurus object at 0x026B5210>
我做错什么了?你知道吗
<__main__.Dinosaurus object at 0x026B5210>
不是错误–它是对象的表示。你知道吗一些实验表明
Dinosaur
具有您分配给它的所有属性:如果要更改打印类实例时显示的表示形式,则需要编写一个特殊的^{} 方法来告诉Python应该如何表示它们,例如:
您还可以定义一个^{} 方法,如果同时定义了这两个对象,那么在打印对象时,Python将优先使用该方法。您应该将
__str__
看作是返回一个对象的非正式的、人性化的表示,而将__repr__
看作是正式的表示(如果可能的话,它应该是一个有效的Python表达式,可以用来生成它的精确副本,如我上面的示例所示)。你知道吗相关问题 更多 >
编程相关推荐