python 父类方法用super_python3.6里,super()的问题,为什么子类调用父类的方法时,super需要在后面加一个()?...

扩展类继承自基类的一个方法行为,然后如果想要把基类的这个行为重新执行一遍,在自己的这个行为前面加上基类的引用,super后面为啥要加一个括号呢?

直接写super.working()就报错了。。

而且,这里写基类的名字,Employee().working()

也会报错。。只能用super().working(),为啥啊。。

代码如下:

class Employee:

def __init__(self,name,department,title,salary):

self.name = name

self.department = department

self.title = title

self.salary = salary

def __repr__(self):

return f'员工:{self.name}'

def working(self):

print(f'员工{self.name}在工作...')

class Developer(Employee):

def __init__(self,name,department,title,salary,skills):

Employee.__init__(self,name,department,title,salary)

self.skills = skills

def working(self):

super().working()

print('开发人员在工作')

class Accountant(Employee):

def __init__(self,name,department,title,salary,certification):

Employee.__init__(self,name,department,title,salary)

self.certification = certification

if name == '__main__':

d = Developer('tom','技术部','高级工程师','13000',['python','flask'])

print(d.name)

d.working()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值