为什么Visual Studio Code会在派生类中插入“ return super().__ init __(self)”?

迈克尔·科尔伯

我知道__init__()return是必需的None,但是当Visual Studio__init__()为我自动完成派生类时,它是这样的:

class Base:
    def __init__(self):
        print('Base')

class Derived(Base):
    def __init__(self):
        return super().__init__()  # This part is added by VS Code

这显然不是语法问题,因为Base__init__正在返回None,派生类又返回。

但是为什么还要麻烦呢?return语句在这里有什么作用?

迈克尔·科尔伯

根据@Simeon Visser的注释,VS Code似乎对所有继承的方法都执行此操作,并且不区分__init__()其他方法。Python语言服务器存储库中已存在问题该问题已解决

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

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

为什么 super().__init__ () 的行为与 Python 派生类中的 super().override() 不同?

在Objective-C中,为什么要检查self = [super init]是否不为零?

为什么self = [super init]确保单例模式?

在super.init中引用self

为什么在“ super(A,self)”中,对象先于“ self”?

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

在派生类中调用super()时,可以传递self .__ class__吗?

为什么我在结构体中调用self.init之前得到错误“ self”?

迅速在super.init调用中未初始化属性“ self.title”

在if((self = [super init]))中未检测到cocos2d冲突

当类未指定超类时,为什么要使用super().__ init __(* args,** kwargs)?

数据类:super() .__ init __ () 的继承等价物是什么?

为什么Swift不允许在类init中而不是在协议init中分配给self?

为什么我不能在Swift中的UIViewController上调用默认的super.init()?

为什么在子类的init方法实现中不需要[super alloc]?

super.init调用未初始化属性“ self。*”

如何在 Visual Studio 2017 中查找派生类?

为什么我的self.init不自动填充到便利初始化程序中?

为什么我不能在 Visual Studio Code 的 return 语句中使用 EXIT_SUCCESS 而不是 0?

为什么super().__ init__没有自我引用?

为什么在孩子的init方法中使用Python super?

__init __(self)-> None:vs __init __(self):在python中

在super.init初始化self之前,在属性访问“ frame”中使用“ self”

在Visual Studio Code中,为什么它会在类之外自动创建“ main :: main和main ::〜main”?

__init__函数中的“ del self.self”是什么意思?

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

为什么要在def __init __(self,n)-> None:中使用->?

Kotlin:为什么要从“ if”中取消“ return”?(Android Studio推荐)