当前位置: 首页 > 面试题库 >

Python-通过__init __()方法了解Python super()

诸葛亮
2023-03-14
问题内容

尝试了解的使用super()。从外观上看,可以创建两个子类。

我很想知道以下两个子类之间的实际区别。

class Base(object):
def init(self):
print “Base created”

class ChildA(Base):
def init(self):
Base.init(self)

class ChildB(Base):
def init(self):
super(ChildB, self).init()

ChildA()
ChildB()


问题答案:

super()单继承的好处是微不足道的-大多数情况下,你不必将基类的名称硬编码到每个使用其父方法的方法中。

但是,如果不使用,几乎不可能使用多重继承super()。其中包括常见的成语,如混合包,接口,抽象类等。这扩展到了以后扩展你的代码的代码。如果以后有人想编写一个扩展了的类Child和一个mixin,他们的代码将无法正常工作。



 类似资料:
  • 在创建类时,我们可以手动添加一个 __init__() 方法,该方法是一个特殊的类实例方法,称为 构造方法(或 构造函数)。 构造方法用于创建对象时使用,每当创建一个类的实例对象时, Python 解释器都会自动调用它。 Python 类中,手动添加构造方法的语法格式如下: def __init__(self,...):     代码块 注意,此方法的方法名中,开头和结尾各有 2 个下划线,且中间

  • 本文向大家介绍Python中的__new__与__init__魔术方法理解笔记,包括了Python中的__new__与__init__魔术方法理解笔记的使用技巧和注意事项,需要的朋友参考一下 很喜欢Python这门语言。在看过语法后学习了Django 这个 Web 开发框架。算是对 Python 有些熟悉了。不过对里面很多东西还是不知道,因为用的少。今天学习了两个魔术方法:__new__ 和 __

  • 问题内容: sentence = “The quick brown fox jumped over the lazy dog.” characters = {} 我不知道在做什么,其余的一切似乎都非常简单。 问题答案: dict的方法(例如)与索引dict一样,不同之处在于,如果缺少键,则返回默认值(如果不使用键,则返回默认值(如果仅使用一个参数调用,则键为默认值)是)。 因此,一个等效的Pyth

  • 问题内容: 我是Python的新手,但是我有其他OOP语言的经验。我的课程没有解释python中的主要方法。 请告诉我main方法如何在python中工作?我很困惑,因为我试图将其与Java进行比较。 main是如何执行的,为什么我需要这个奇怪的东西才能执行。删除时,我的代码将终止,而不会输出。 最小的代码- 问题答案: Python的“ main”方法几乎是该语言(*)所独有的。 语义有些微妙。

  • 本文向大家介绍Python类方法__init__和__del__构造、析构过程分析,包括了Python类方法__init__和__del__构造、析构过程分析的使用技巧和注意事项,需要的朋友参考一下 最近学习《Python参考手册》学到Class部分,遇到了类的构造析构部分的问题: 1、什么时候构造? 2、什么时候析构? 3、成员变量如何处理? 4、Python中的共享成员函数如何访问? ----

  • 我希望得到以下内容:,然后:。因为我们首先遍历1到20之间的所有数字,所以只筛选出那些可被3除的数字,然后遍历这个新的并找到那些可被5除的数字。 但相反,我得到了以下输出: 它看起来没有检查所有的数字。此外,它看起来只检查可被3除的数字。