在指示和初始化变量type
的地方给了我一个错误,但是我在这里没有发现任何问题。
对于此任务,请创建一个类Dinosaur
和一个名为_type
的实例变量。
创建一个名为getType()
的吸气剂方法,该方法将返回恐龙的类型。
创建名为setType()
的设置方法,以设置其类型。
class Dinosaur:
def __init__(self,type):
self.type=type
def setType(self,type):
self.setType=type
def getType(self):
return self.type
# Create three dinosaurs
d1 = Dinosaur()
d2 = Dinosaur()
d3 = Dinosaur()
# Set their types
d1.setType("T-Rex")
d2.setType("Velociraptor")
d3.setType("Stegosaurus")
# Print the types
print(d1.getType())
print(d2.getType())
print(d3.getType())
答案 0 :(得分:1)
您的构造函数采用一个参数:
def __init__(self,type):
self.type=type
因此,您应该使用该参数创建对象:
d1 = Dinosaur('T-Rex')
...
否则,您将得到提到的位置参数错误。
或者您可以更改构造函数以将type
初始化为空字符串或None
或类似的字符:
def __init__(self):
self.type = '' # or None
此外,您的设置者有问题,应该是self.type=type
而不是self.setType=type
答案 1 :(得分:-1)
您可以在构造函数中添加默认值,这会使参数成为可选参数。
let bestMoves = [
0x1160:1,
0x1205:0,
0x1304:0,
0x1340:0,
0x1403:0,
0x1430:0,
0x1502:0,
0x1520:0,
0x1601:0,
0x1610:1,
0x1700:0,
0x2222:0,
0x2330:0,
0x2420:0,
0x2510:0,
0x3140:1,
0x3203:0,
0x3230:0,
0x3320:0,
0x4103:0,
0x4130:1,
0x4220:0,
0x5120:1,
0x6101:0,
0x6110:1 ];
然后您可以:
class Dinosaur:
def __init__(self,type = None):
self.type=type
或传递参数:
>>> d1 = Dinosaur()
>>> print(d1.getType())
None
>>> d1.setType("T-Rex")
>>> print(d1.getType())
"T-Rex"