您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python的“ super”如何做正确的事情?

Python的“ super”如何做正确的事情?

我在下面提供了许多链接,这些链接比我所希望的更详细,更准确地回答了您的问题。但是,我也会用我自己的话回答您的问题,以节省您的时间。我会以分数为准-

找到匹配方法后(例如在 类中),将调用方法。 (此方法应该使用super,所以我假设它确实使用了-请参见Python的super很漂亮,但不能使用- 下面的链接)然后,该方法将在对象类的MRO中搜索一个方法,即 。

重复漂洗直到找到并调用所有方法

 MRO: D,B,C,A,object

B.__init__ 找到并打电话

isinstance(self,B)=>假 isinstance(self,D)=>真

因此,MRO相同,但是搜索继续到B的右边,即C,A,对象被一个一个搜索。下一个__init__被称为。

等等等等。

http://www.python.org/download/releases/2.2.3/descrintro/#cooperationhttp://fuhm.net/super-harmful/ http://www.python.org/download/releases/2.3/mro/http://docs.python.org/library/functions.html本页http:/ /docstore.mik.ua/orelly/other/python/0596001886_pythonian- chp-5-sect-2.html

我希望这有助于清除它。

python 2022/1/1 18:39:39 有263人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶