__init__() 应该调用父类的 __init__() 吗?

2024-01-08

我在 Objective-C 中使用过,我有这样的构造:

- (void)init {
    if (self = [super init]) {
        // init class
    }
    return self;
}

Python 是否也应该调用父类的实现__init__?

class NewClass(SomeOtherClass):
    def __init__(self):
        SomeOtherClass.__init__(self)
        # init class

这也是对/错吗__new__() and __del__()?

Edit:有一个非常相似的问题:继承和重写__init__在Python中 https://stackoverflow.com/questions/753640/inheritance-and-overriding-init-in-python


如果您需要超级的东西__init__除了当前班级正在做的事情之外还要做的事情__init__,您必须自己调用它,因为这不会自动发生。但如果你不需要 super 的任何东西__init__,无需调用它。例子:

>>> class C(object):
        def __init__(self):
            self.b = 1


>>> class D(C):
        def __init__(self):
            super().__init__() # in Python 2 use super(D, self).__init__()
            self.a = 1


>>> class E(C):
        def __init__(self):
            self.a = 1


>>> d = D()
>>> d.a
1
>>> d.b  # This works because of the call to super's init
1
>>> e = E()
>>> e.a
1
>>> e.b  # This is going to fail since nothing in E initializes b...
Traceback (most recent call last):
  File "<pyshell#70>", line 1, in <module>
    e.b  # This is going to fail since nothing in E initializes b...
AttributeError: 'E' object has no attribute 'b'

__del__是同样的方式,(但要小心依赖__del__对于最终确定 - 考虑通过 with 语句来完成)。

我很少用__new__.我在中进行了所有初始化__init__.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

__init__() 应该调用父类的 __init__() 吗? 的相关文章

  • 两个对象相互依赖。那不好吗?

    当我为我的项目构建自己的系统时 我学到了很多关于设计模式的知识 我想问你一个我找不到答案的设计问题 目前我正在使用套接字构建一个带有多个客户端的小型聊天服务器 现在我有三门课 人级其中包含昵称 年龄和房间对象等信息 房间级它保存诸如房间名称
  • 如何计算总和的平方和?

    我有一笔款项需要加快处理速度 在一种情况下是 S x y k l Fu ku Fv lv Fx kx Fy ly 另一种情况是 S x y S k l Fu ku Fv lv Fx kx Fy ly 2 注意 S indices 是这些索引
  • 用于在 Windows 中自动执行桌面活动的 Python 代码

    我想使用 Python 在 Windows 环境中自动化桌面活动 怎样才能做到呢 一些例子也会有帮助 我所说的桌面活动是指控制鼠标和键盘 访问活动窗口属性 双击桌面上的图标 最小化和最大化窗口 通过键盘向输入弹出窗口输入数据等操作 看一下S
  • 防止脚本目录被添加到Python 3中的sys.path

    有没有办法阻止脚本的目录被添加到python3中的sys path 由于导入在 python 中是相对的 因此我遇到了导入冲突 我正在处理的一个遗留项目有一个名为logger py在与内置冲突的脚本的根目录中logger 我使用的自定义构建
  • Spark问题中读取大文件 - python

    我已经使用 python 在本地安装了 Spark 并在运行以下代码时 data sc textFile C Users xxxx Desktop train csv data first 我收到以下错误 Py4JJavaError Tra
  • 具有相同内容的拆分列表

    例如我有以下列表 contents i have two pens prices 5 made in and 我想将它们分开 使其具有与以下内容相同的内容 array 0 i have two pens array 1 prices 5 a
  • 根据两个预先计算的直方图报告两个样本的 K-S 统计量

    Problem 在这里 我绘制了存储在文本文件中的 2 个数据集 在列表中 dataset 每个包含 218 亿个数据点 这使得数据太大而无法作为数组保存在内存中 我仍然能够将它们绘制为直方图 但我不确定如何通过2 样本KS测试 http
  • 使用 Python 读取 App Engine 上的文件?

    是否可以在 GAE 上打开文件来读取其内容并获取最后修改的标签 我收到 IOError Errno 13 文件无法访问 我知道我无法删除或更新 但我相信阅读应该是可能的 有人遇到过类似的问题吗 os stat f r st mtim 您可能
  • 尽管 Matplotlib FuncAnimation(...,repeat=False) 保存的动画图不断循环

    我想使用制作动画matplotlib进行 Powerpoint 演示 动画应该只播放一次 在我的代码中 参数repeat of FuncAnimation 被设置为 false 因为我需要将图导入到powerpoint中 所以我使用保存它a
  • Python Raspberry pi - 如果路径不存在,则跳过循环

    我有一个收集温度 文本文件中的值 的功能 它使用部分预定义的路径 但是 有时如果温度传感器未加载 断开连接 则路径不存在 如果路径不可用 如何设置条件或例外来跳过循环 我想使用 continue 但我不知道要设置什么条件 def read
  • SQLAlchemy - 如何使用 SQLAlchemy 做出“django 选择”?

    在 Django 中 我们可以使用非常简单的 选择 例如 GENDER CHOICES M Male F Female class Foo models Model gender models CharField max length 1
  • Flask-Mail - 基于 Flask-Cookiecutter 异步发送电子邮件

    我的烧瓶项目基于烧瓶饼干切割机 https github com sloria cookiecutter flask我需要异步发送电子邮件 发送电子邮件的功能由以下配置米格尔的教程 https blog miguelgrinberg com
  • 如何在海龟图形中将多个按键绑定在一起?

    我正在尝试制作一个连接点的 python 游戏 我希望游戏记录 2 次按钮按下操作 示例 如果用户按向上和向右箭头键 乌龟将向东北方向移动 45 度 这是我的代码 import turtle flynn turtle Turtle win
  • Keras ImageDataGenerator 相当于 csv 文件

    我在文件夹中排序了一堆数据 如下图所示 我需要构建一个 DataIterator 以便将数据放入神经网络模型中 当数据是图像时 我找到了很多例子来解决这个问题 使用 Keras 类图像数据生成器及其方法流自目录 但当数据是 csv 结构时则
  • Python range() 和 zip() 对象类型

    我了解功能如何range and zip 可以在 for 循环中使用 然而我期望range 输出一个列表 很像seq在 Unix shell 中 如果我运行以下代码 a range 10 print a 输出是range 10 表明它不是一
  • Python Pandas DateOffset 使用另一列中的值

    我以为这会很容易 但下面的内容并不适合我想要的 只是尝试通过使用另一列中的值将天数添加到预先存在的日期时间列来计算新的日期列 我下面的 偏移 列只有 1 位数字 df new date df orig date apply lambda x
  • 将文本文件转换为 plink PED 和 MAP 格式

    我有以下数据 其中的一小部分 名为 short2 pre snp tumor txt rs987435 C G 1 1 1 0 2 rs345783 C G 0 0 1 0 0 rs955894 G T 1 1 2 2 1 rs608879
  • 预训练 inception v3 模型的层名称(tensorflow)[重复]

    这个问题在这里已经有答案了 任务是获取a的每层输出预训练的 cnn inceptionv3 https www tensorflow org versions master tutorials image recognition index
  • 为什么我们不能在函数式接口中重载抽象方法? (爪哇)

    所以我熟悉java中的函数式接口 以及它们与lambda表达式的使用 一个函数式接口只能包含一个抽象方法 当从 lambda 表达式使用这一孤独方法时 您不需要指定其名称 因为接口中只有一个抽象方法 编译器知道这就是您正在引用的方法 Exa
  • 如何将 c_uint 的 ctypes 数组转换为 numpy 数组

    我有以下 ctypes 数组 data ctypes c uint 100 我想创建一个 numpy 数组np data包含来自 ctypes 数组数据的整数值 ctypes 数组显然稍后会填充值 我看到numpy中有一个ctypes接口

随机推荐

  • 当单元格更改时,VBA 运行宏,但如果通过宏则不运行

    好吧 我不确定这是否容易实现 但我会尝试 如果单元格发生更改 我使用此子程序来执行一些宏 Private Sub Worksheet Calculate Dim target As Range Set target Range b4 If
  • 将蛇形字符串转换为标题大小写

    我有以下蛇形变量big animal我想将其转换为Big Animal 我的方法是str gt str replace w g g gt g 1 toUpperCase 但我不断得到bigAnimal 但我想保留空格并将第一个字母大写 另一
  • C - 未定义的引用 - 是否有使用 -lm 编译的替代方法?

    我有一个很像这个问题的问题here https stackoverflow com questions 5248919 c undefined reference to sqrt其中错误是 未定义对 sqrt 的引用 我了解如何在编译时使用
  • Python 连接列表中的数组

    我有一个相同大小的数组列表 列表 z 包含 gt gt gt z 0 Out 24 array 27 56272878 952 8099842 3378 58996244 4303 9692863 gt gt gt z 1 Out 25 a
  • 如何在 Google Chrome 中暂时禁用 websocket?

    我想暂时禁用 Google Chrome 中的 websocket 来调试 javascript 以确保它适用于任何不支持 websocket 的浏览器 首先 我想说有更好的机制可以在无 websocket 环境中测试 JavaScript
  • 限制对 ASP.Net MVC 站点的匿名访问的问题

    每当我限制 MVC 站点中的匿名访问时 我都会收到 404 错误 应用程序中的服务器错误 无法找到该资源 描述 HTTP 404 您正在查找的资源 或其依赖项之一 可能已被删除 名称已更改或暂时不可用 请检查以下 URL 并确保其拼写正确
  • 跨不同程序开发的库的 Subversion 存储库布局

    我负责几个 相当小的 程序 它们通过不同的库共享大量代码 我想知道开发不同程序 和库 的最佳存储库布局是什么 并使库在所有程序之间保持同步 为了便于讨论 我们假设有两个带有两个库的程序 Program1 Library1 Library2
  • 检查文件是否存在的最快方法[重复]

    这个问题在这里已经有答案了 我使用的方法只是尝试 fopen 要检查的文件 does file exist char fname 999 whatever constructed during execution FILE fp NULL
  • sql.Identifier 不带引号

    我在网上搜索 sql Identifier without quoting 并且这个帖子 https stackoverflow com questions 43877210 how to remove the quotes from a
  • R 闪亮登录黑客

    在尝试了 RStudio Shiny Pro Server 的评估后 我对登录 身份验证机制不太感兴趣 因为它们不是管理客户端访问闪亮应用程序的用户帐户的简单机制 因此 我试图在 Shiny 中创建自己的登录机制 除了在shinydashb
  • .NET 客户端编程中出现异常“AMQP 操作被中断”(代码=406)

    我有一个 2 8 2 RabbitMQ 服务器和一个 2 8 2 客户端 dll 有声明队列并获取消息的代码 它工作正常 所有参数都正确 IModel channel null ConnectionFactory factory new C
  • Windows 工作流程 4.0 InstancePersistenceCommand 错误

    我有一个 wcf 工作流程 其中有三个按顺序排列的接收活动 IE 1 接收申请 2 经理1批准 3 最终经理批准 我的问题是 我能够使用客户端应用程序中的工作流程并调用第一个 接收应用程序活动 但是当我尝试调用第二个 manager1 批准
  • Android 中的轮播动画

    请参阅下面的屏幕 我尝试使用封面流来实现此动画 就像我们作为轮播动画一样 但我没有得到与屏幕中所示相同的效果 如果有人做过这种类型的动画 请将代码片段发送给我 我前段时间在我的应用程序中遇到了类似的问题 虽然我没有处理过您在图像右下角显示的
  • 在 R 中的同一张图上绘制多列[重复]

    这个问题在这里已经有答案了 我有以下数据框 A B C D Xax 0 451 0 333 0 034 0 173 0 22 0 491 0 270 0 033 0 207 0 34 0 389 0 249 0 084 0 271 0 54
  • RxJava2 + Room:clearAllTables() 调用后数据未插入数据库

    成功后在我的Android应用程序中login我将会话信息保存在 Room 中 然后从 BE 检索用户信息并保存它 一切正常 我可以看到数据库表中保存的信息 When 用户注销从应用程序中 所有表都通过 appDatabase clearA
  • 如何制作撤消/重做功能

    我想添加一个undo redo我的脚本中的函数 我环顾四周 看到了一些建议 其中大多数建议使用command pattern 该函数必须在一页上运行 重新加载页面后 该函数必须能够redo undo最后的事情 我不知道命令模式是如何工作的
  • NSFetchedResultsController 在更新后看不到新的插入/删除获取的值

    在阅读了数十个类似的问题后 我想以这样的说法开始 我确实设置了 NSFetchedResultsController 的委托 但它不起作用 所以我有一个简单的 TableViewController 其单元格填充有 NSFetchedRes
  • 使用Rails 3 link_to进行ajax回调的正确方法是什么[重复]

    这个问题在这里已经有答案了 这是场景 Summary 我有一个解决方案 但我想知道这是否是在 Rails 3 中使用 AJAX 回调的最佳方法 Problem 我有一个链接 当单击它时 它应该使用 AJAX 来更新现有的 html 元素 在
  • 像 Twitter 上一样的角色倒计时

    如何使用 jQuery 制作像 Twitter 上那样的 剩余字符 倒计时 并且还将输入限制为文本区域 Make a span and textarea并为它们提供唯一的选择器 使用 ID 或类 如下所示
  • __init__() 应该调用父类的 __init__() 吗?

    我在 Objective C 中使用过 我有这样的构造 void init if self super init init class return self Python 是否也应该调用父类的实现 init class NewClass