在学习python的类时,刚接触__init__()方法:踩了个坑:
class Ball:
def setName(self,name):
self.name = name
def kick(self):
print("我是%s,谁踢得我?" % self.name)
class BigBall(Ball):
def _init_(self,name,age):
self.name = name
self.age = age
def printAge(self):
print("我是%s,我今年%s,谁踢得我?" % (self.name,self.age))
输入:
a=BigBall("帅气的屁孩",26)
出现了一个错误:
TypeError: object() takes no parameters
最终发现是由于python类的构造函数init是两个下划线所致:
def __init__(self,name,age):
结果如下:
a=BigBall("帅气的屁孩",26)
a.printAge()
我是帅气的屁孩,我今年26,谁踢得我?