子类调用父类的方法没有返回值,很以为,麻烦大佬看看,实在想不出是什么原因,多谢了
定义一个Person类:#!/usr/bin/env python
# -*- coding=utf-8 -*-
# @File: person1.py
# @Author: Meng Li
# @Date: 2020/7/31 0031
# @Desc: PangDuDu
class Person:
#至少定义一个方法,初始化类的方法
def __init__(self,name,age,pay=0,job=None):
self.name = name
self.age = age
self.pay = pay
self.job = job
#定义一个方法
def moneyUp(self,percent):
return self.pay * (1.0 + percent)
if __name__ == '__main__':
#创建2个实例meng,e
meng = Person("meng li",30,20000,"network")
e = Person("e yuan",27,8000,"money")
print(meng.pay)
print(meng.moneyUp(0.1))输出为:2000022000.0
然后在定义一个子类Manager:#!/usr/bin/env python
# -*- coding=utf-8 -*-
# @File: manager.py
# @Author: Meng Li
# @Date: 2020/8/1 0001
# @Desc: PangDuDu
#通过Person1模块导入Person类,进行继承
from person1 import Person
#继承
class Manager(Person):
def moneyUp(self,percent,spic=0.1):
Person.moneyUp(self, percent + spic)
if __name__ == '__main__':#两个实例
meng = Person("meng li", 30, 20000, "network")
lili = Manager("lili li", 40, 30000, "manager")#分别打印两个输出
print(meng.moneyUp(0.1))
print(lili.moneyUp(0.1))输出如下:22000.0None
但是第一个print有输出,第二个一直打印None,求哪位大佬解释一下小弟初学python,一直没想明白
有大佬帮忙看看嘛 有没有大佬讲解下 歇息 这个是作用域嵌套,在Person.moneyUp(self, percent + spic)前面加个return就可以了。
页:
[1]