是否有必要在python中显式调用super().__ init __()?

一些名字

我来自Java,可以避免调用超类零参数构造函数。对其的调用是由编译器隐式生成的。

我读了有关super()的文章,现在有疑问的是,是否真的有必要明确地做这样的事情:

class A(object):
 def __init__(self):
   print("world")

class B(A):
 def __init__(self):
   print("hello")
   super().__init__() #Do we get some Undefined Behavior if we do not call it explicitly?
三元组

如果重写__init__超类的__init__方法,则子类方法需要显式调用它(如果是预期的行为),是的。

您的思维模式__init__不正确;它不是构造函数方法,而是构造函数方法调用的一个挂钩,可让您轻松自定义对象初始化。(调用了实际的构造函数,__new__但您不必知道这一点,并且可能永远不需要直接与之交互,更不用说对其进行更改了。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python中super().__ init __()和显式超类__init __()之间的行为差异

来自分类Dev

只要init调用[super init],在Objective C自定义init方法中调用[self init]是否可以?

来自分类Dev

是否有必要在python中的自定义迭代器类上显式调用iter()?

来自分类Dev

什么时候调用Python的super().__ init __()?

来自分类Dev

调用super的init时,Python中的最大递归深度错误。

来自分类Dev

是否有必要在Windows上为“ react-native init AwesomeProject”安装Python以用于react-native?

来自分类Dev

如果仅调用super .__ init__是必需的__init__吗?

来自分类Dev

Swift super.init() - 属性未在 super.init 调用中初始化

来自分类Dev

快速子类是否总是必须调用super.init()

来自分类Dev

调用父级__init __()

来自分类Dev

换能器的init未调用

来自分类Dev

显式设置继承的,不变的__init__与在Python中跳过它

来自分类Dev

是否需要npm init?

来自分类Python

__init __()是否应该调用父类的__init __()?

来自分类Dev

在Python中从__init__调用setter

来自分类Dev

在Python中从__init__调用setter

来自分类Dev

调用super().__ init __(** kwargs)和多重继承?

来自分类Python

Python 3内置类型__init__不调用super().__ init__?

来自分类Dev

在 Init 中导入 Python

来自分类Python

Python覆盖__init__

来自分类Dev

Python重载__init__

来自分类Dev

Python - __init__ 参数

来自分类Dev

Go中的变量init

来自分类Dev

在init()中验证环境

来自分类Dev

挂毯中的init()方法

来自分类Dev

__init__中的UnboundLocalError

来自分类Dev

属性未在super.init调用中初始化

来自分类Dev

在__init __()之外声明的实例变量在python中是否有区别?

来自分类Python

为什么在多次继承中执行Base .__ init __(self)而不是super().__ init __()时会跳过__init__?

Related 相关文章

  1. 1

    Python中super().__ init __()和显式超类__init __()之间的行为差异

  2. 2

    只要init调用[super init],在Objective C自定义init方法中调用[self init]是否可以?

  3. 3

    是否有必要在python中的自定义迭代器类上显式调用iter()?

  4. 4

    什么时候调用Python的super().__ init __()?

  5. 5

    调用super的init时,Python中的最大递归深度错误。

  6. 6

    是否有必要在Windows上为“ react-native init AwesomeProject”安装Python以用于react-native?

  7. 7

    如果仅调用super .__ init__是必需的__init__吗?

  8. 8

    Swift super.init() - 属性未在 super.init 调用中初始化

  9. 9

    快速子类是否总是必须调用super.init()

  10. 10

    调用父级__init __()

  11. 11

    换能器的init未调用

  12. 12

    显式设置继承的,不变的__init__与在Python中跳过它

  13. 13

    是否需要npm init?

  14. 14

    __init __()是否应该调用父类的__init __()?

  15. 15

    在Python中从__init__调用setter

  16. 16

    在Python中从__init__调用setter

  17. 17

    调用super().__ init __(** kwargs)和多重继承?

  18. 18

    Python 3内置类型__init__不调用super().__ init__?

  19. 19

    在 Init 中导入 Python

  20. 20

    Python覆盖__init__

  21. 21

    Python重载__init__

  22. 22

    Python - __init__ 参数

  23. 23

    Go中的变量init

  24. 24

    在init()中验证环境

  25. 25

    挂毯中的init()方法

  26. 26

    __init__中的UnboundLocalError

  27. 27

    属性未在super.init调用中初始化

  28. 28

    在__init __()之外声明的实例变量在python中是否有区别?

  29. 29

    为什么在多次继承中执行Base .__ init __(self)而不是super().__ init __()时会跳过__init__?

热门标签

归档