def __init__注意的问题是init两侧的横线分别是2个_下划线,不是一个。这样会报编译错误
>>> 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-06-17',['2:58','2.58','1.56'])
Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
sarah=Athlete('Sarah Sweeney','2002-06-17',['2:58','2.58','1.56'])
TypeError: object() takes no parameters
>>> type(sarah)
Traceback (most recent call last):
File "<pyshell#10>", line 1, in <module>
type(sarah)
NameError: name 'sarah' is not defined
>>> sarah = Athlete('Sarah Sweeney','2002-06-17',['2:58','2.58','1.56'])
Traceback (most recent call last):
File "<pyshell#11>", line 1, in <module>
sarah = Athlete('Sarah Sweeney','2002-06-17',['2:58','2.58','1.56'])
TypeError: object() takes no parameters
>>> 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-06-17',['2:58','2.58','1.56'])
>>> type(sarah)
<class '__main__.Athlete'>
>>>