问答详情
源自:4-6 Python类的__call__方法

实例运行结果为什么多一个None

class Person(object):
    def __init__(self,name,gender):
        self.name = name
        self.gender = gender
    def __call__(self,friend):
        print('My name is {}...'.format(self.name))
        print('My friend is {}...'.format(friend))
        
p = Person('Bob', 'Male')
print(p('Alice'))

运行结果:

My name is Bob...
My friend is Alice...
None

为什么最后一行还有一个None?

提问者:心诚则零 2021-09-29 20:37

个回答

  • MrQinJS
    2021-10-02 08:59:52

    执行最后有一个None,是因为python函数使用return返回值,如果不用
    return, 而用print输出值,这个函数默认还有一个返回值为None .