在学习python面向对象知识时,写了如下一行代码,发现在print时总是打印 None,找不出原因:
class Employee:
# def __init__(self, name, age):
# self.name = name
# self.age = age
__company = "物联网"
def __init__(self, name, age):
self.name = name
self.__age = age ##这是个私有属性
def __work(self):
print("好好工作,赚钱养媳妇!!")
return
# print("年龄:{0}".format(self.__age))
# print(Employee.__company)
e = Employee("高老大", 28)
print(e.name)
# print(e.age)
print(e._Employee__age)
print(e._Employee__work())
print(Employee._Employee__company)
最后发现是在调用私有方法work时,前边又加了一个print,本来该work方法已经有了print,再加个print程序输出结果如下:
高老大
28
好好工作,赚钱养媳妇!!
None
物联网
将倒数第二行调用work方法的print去掉,直接写为:
e._Employee__work()
打印结果:
高老大
28
好好工作,赚钱养媳妇!!
物联网
None已经没有了!
如果我写的好给我点赞吧!