首页 > 解决方案 > 关于超级打印行为的问题

问题描述

我试图了解以下内容

class AA:
    def __init__(self):
        pass
    def print(self):
        print('this is AA')
        
class BB(AA):
    def __init__(self):
        super().print()
        print(super())
b = BB()

输出是

this is AA
<super: <class 'BB'>, <BB object>>

我理解输出中的第一行。super()返回一个 AA 类型的临时对象并print调用它的方法。我不明白为什么它的输出print(super())没有AA任何地方。这有点令人惊讶,因为AABB. 我认为这种行为与这个问题有关,但我很难理解它。

标签: python-3.xsuper

解决方案


推荐阅读