所以,我的任务是创建一个具有'name'和'fuel'属性的Ship类,名称的默认值应该是“Enterprise”,而fuel的默认值应该是0。我必须创建一个没有参数的对象,每一个参数都有。唯一不起作用的是只有燃料的那个,我不知道为什么。在
我的代码是:
class Ship(object):
def __init__(self, name = "Enterprise", fuel = 0):
self.name = name
self.fuel = fuel
def status(self):
if self.fuel < 0:
self.fuel = 0
print self.name, "\nFuel:", self.fuel, "\n"
#main
ship1 = Ship()
ship1.status()
ship2 = Ship("Space Ship1")
ship2.status()
ship3 = Ship(10)
ship3.status()
ship4 = Ship("Space Ship2", 10)
ship4.status()
它输出的是:
^{pr2}$第三种方法是将燃料打印为名称,并将燃料默认为0,这是不对的。我怎样才能修好它?在
在
ship3 = Ship(10)
中,第一个参数10
是船名。在您可能需要使用
ship3 = Ship(fuel=10)
。在不直接相关,但很重要。请记住,如果您使用可变对象作为默认参数(在您的示例中没有这样做),那么这些参数只计算一次,而不是每次调用。在
相关问题 更多 >
编程相关推荐