【发布时间】:2013-11-11 15:47:44
【问题描述】:
上面写着
sarah = Athlete('Sarah Sweeney', '2002-6-17', ['2:58', '2.58', '1.56'])
TypeError: object() takes no parameters
怎么了?谢谢你。这是 Head First Python 中的示例
class Athlete:
def _init_(self, a_name, a_dob=None, a_times=[]):
self.name = a_name
self.dob = a_dob
self.times = a_times
sarah = Athlete('Sarah Sweeney', '2002-6-17', ['2:58', '2.58', '1.56'])
【问题讨论】:
-
将
_init_更改为__init__ -
您可能确实不想要使用可变列表值
[]作为默认值,请参阅"Least Astonishment" in Python: The Mutable Default Argument