如何避免 super() 无限递归?

2023-11-26

我有这样的代码:

class A(object):
    def __init__(self):
          self.a = 1

class B(A):
    def __init__(self):
        self.b = 2
        super(self.__class__, self).__init__()

class C(B):
    def __init__(self):
        self.c = 3
        super(self.__class__, self).__init__()

实例化 B 按预期工作,但实例化 C 无限递归并导致堆栈溢出。我该如何解决这个问题?


实例化 C 调用时B.__init__, self.__class__仍将是 C,因此 super() 调用将其带回 B。

调用 super() 时,直接使用类名。所以在B中调用super(B, self), 而不是super(self.__class__, self)(并且为了更好地衡量,使用super(C, self)在C)中。从 Python 3 开始,您可以使用不带参数的 super() 来实现相同的效果

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

如何避免 super() 无限递归? 的相关文章

  • 从 SHAP 值中获取特征重要性

    我想要获得重要功能的数据框 通过下面的代码 我得到了 shap values 但我不确定这些值的含义是什么 在我的 df 中有 142 个特征和 67 个实验 但得到了一个带有 ca 的数组 2500 个值 explainer shap T
  • 上传时的 Google Drive API——这些额外的空行从何而来?

    总结一下该程序 我从我的 Google 云端硬盘下载一个文件 然后在本地计算机中打开并读取一个文件 file a txt 然后在我的计算机中打开另一个文件 file b txt 处于附加模式 并且在使用这个新的 file b 更新我的 Go
  • 检测到通过 ChromeDriver 启动的 Chrome 浏览器

    我正在尝试在 python 中使用 selenium chromedriver 来访问 www mouser co uk 网站 然而 从第一次拍摄开始 它就被检测为机器人 有人对此有解释吗 此后我使用的代码 options Options
  • 使用 Python 创建 MIDI

    本质上 我正在尝试从头开始创建 MIDI 并将它们放到网上 我对不同的语言持开放态度 但更喜欢使用Python 两种语言之一 如果这有什么区别的话 并且想知道我应该使用哪个库 提前致谢 看起来这就是您正在寻找的 适用于 Python 的简单
  • numpy python 中的“AttributeError:'matrix'对象没有属性'strftime'”错误

    我有一个维度为 72000 1 的矩阵 该矩阵涉及时间戳 我想使用 strftime 如下所示 strftime d m y 为了得到像这样的输出 11 03 02 我有这样一个矩阵 M np matrix timestamps 我使用了
  • 从 Python 下载/安装 Windows 更新

    我正在编写一个脚本来自动安装 Windows 更新 我可以将其部署在多台计算机上 这样我就不必担心手动更新它们 我想用 Python 编写这个 但找不到任何关于如何完成此操作的信息 我需要知道如何搜索更新 下载更新并从 python 脚本安
  • 在Python中如何获取字典的部分视图?

    是否有可能获得部分视图dict在Python中类似于pandasdf tail df head 说你有很长一段时间dict 而您只想检查某些元素 开头 结尾等 dict 就像是 dict head 3 To see the first 3
  • “一旦获取切片就无法更新查询”。最佳实践?

    由于我的项目的性质 我发现自己不断地从查询集中取出切片 如下所示 Thread objects filter board requested board id order by updatedate 10 但这给我带来了实际对我选择的元素进
  • 如何在VIM中设置文件的正确路径?

    每当我击中 pwd在 vim 中命令总是返回路径C Windows system32 即使我在桌面上的 Python 文件中 所以每当我跑步时 python 命令返回 python can t open file Users myname
  • 更改 x 轴比例

    我使用 Matlab 创建了这个图 使用 matplotlib x 轴绘制大数字 例如 100000 200000 300000 我想要 1 2 3 和 10 5 之类的值来指示它实际上是 100000 200000 300000 有没有一
  • 使用 Python 计算 Spark 中成对 (K,V) RDD 中每个 KEY 的平均值

    我想与 Python 共享这个特定的 Apache Spark 解决方案 因为它的文档非常贫乏 我想通过 KEY 计算 K V 对 存储在 Pairwise RDD 中 的平均值 示例数据如下所示 gt gt gt rdd1 take 10
  • Alembic:如何迁移模型中的自定义类型?

    My User模型是 class User UserMixin db Model tablename users noinspection PyShadowingBuiltins uuid Column uuid GUID default
  • 如何使用 Bokeh 动态隐藏字形和图例项

    我正在尝试在散景中实现复选框 其中每个复选框应显示 隐藏与其关联的行 我知道可以通过图例来实现这一点 但我希望这种效果同时在两个图中发生 此外 图例也应该更新 在下面的示例中 出现了复选框 但不执行任何操作 我显然不明白如何更新用作源的数据
  • 使用 Conda 更新特定模块会删除大量软件包

    我最近开始使用 Anaconda Python 发行版 因为它提供了许多开箱即用的数据分析库 使用 conda 创建环境和安装软件包也轻而易举 但是当我想更新 Python 本身或任何其他模块时 我遇到了一些严重的问题 我事先被告知我的很多
  • Werkzeug 中的线程和本地代理。用法

    首先 我想确保我正确理解了功能的分配 分配本地代理功能以通过线程内的模块 包 共享变量 对象 我对吗 其次 用法对我来说仍然不清楚 也许是因为我误解了作业 我用烧瓶 如果我有两个 或更多 模块 A B 我想将对象C从模块A导入到模块B 但我
  • Flask 应用程序的测试覆盖率不起作用

    您好 想在终端的 Flask 应用程序中测试 删除路由 我可以看到测试已经过去 它说 test user delete test app LayoutTestCase ok 但是当我打开封面时 它仍然是红色的 这意味着没有覆盖它 请有人向我
  • 附加两个具有相同列、不同顺序的数据框

    我有两个熊猫数据框 noclickDF DataFrame 0 123 321 0 1543 432 columns click id location clickDF DataFrame 1 123 421 1 1543 436 colu
  • Python问题:打开和关闭文件返回语法错误

    大家好 我发现了这个有用的 python 脚本 它允许我从网站获取一些天气数据 我将创建一个文件和其中的数据集 有些东西不起作用 它返回此错误 File
  • bs4 `next_sibling` VS `find_next_sibling`

    我在使用时遇到困难next sibling 并且类似地与next element 如果用作属性 我不会得到任何返回 但如果用作find next sibling or find next 然后就可以了 来自doc https www cru
  • 使用 Python 将对象列表转为 JSON

    我在转换时遇到问题Object实例到 JSON ob Object list name scaping myObj base url u number page for ob in list name json string json du

随机推荐

  • 正则表达式模式用于检查字符串中每个单词的第一个字母在 Javascript 中是否为大写

    例如我的字符串是Foo Bar 该字符串应该与模式匹配 如果字符串是Foo bar 该字符串不应匹配 如果字符串是福巴 福巴字符串应该匹配 如果字符串是Foo 它也应该匹配 到目前为止我只有这个模式 A Z 1 s 基本上我只会接受每个单词
  • WPF:如何通过 XAML 将整个 Control 作为 CommandParameter 传递?

    我正在使用 MVVM 自定义 ICommand 对象由 ViewModel 层提供 一个 ViewModel 对象可以同时通过 DataContext 属性附加到许多 View 对象 窗口 页面等 在 ICommand CanExecute
  • SqlDependency 与 EntityFramework 6(异步)

    我正在使用 EF 6async查询特征 例如 var list await cx Clients Where c gt c FirstName Length gt 0 ToListAsync 我还想启动对这些查询的 SQL 依赖项 以便在数
  • 如何更改 WCF 中的 SOAP 信封架构?

    我正在通过 WCF 连接到第三方端点 但遇到一个问题 WCF 生成的 SOAP 信封架构与端点不兼容 目前 WCF 正在生成
  • 滚动到特定 div

    我有几个divs posts其中有一个attr data id这对应于mysql DB id div class posts div div class posts div 现在如果我想滚动到特定的div只有我知道data id 我将如何滚
  • RX Observable.TakeWhile 检查每个元素之前的条件,但我需要在之后执行检查

    Observable TakeWhile 允许您在条件为真时运行序列 使用委托 以便我们可以对实际序列对象执行计算 但它会在每个元素之前检查此条件 如何在每个元素之后执行相同的检查 下面的代码演示了这个问题 void RunIt List
  • 将字符集转换为 nfa/dfa 的高效算法

    我目前正在研究扫描仪生成器 发电机已经工作正常 但是当使用字符类时 算法会变得非常慢 扫描仪生成器生成 UTF8 编码文件的扫描仪 应支持完整范围的字符 0x000000 到 0x10ffff 如果我使用大字符集 例如任何运算符 或 uni
  • iframe 内容在 Firefox 上消失

    我正在用基本的 HTML 填充一个空的 iframe 使用 iframe contents find body html contentBody See http jsfiddle net UjT2b 2 这在 Chrome 上效果很好 在
  • Mapbox gl js - 重叠图层和鼠标事件处理

    是否有任何清晰可靠 和描述 的机制来控制 Mapbox GL JS 中重叠图层的鼠标事件 例如 我有 3 个重叠的层 但希望仅对顶部的层调用单击处理程序 而不是对所有 3 个层调用 这是否可能 目前 作为解决方法 我跟踪 MouseEnte
  • Jpgraph 不会改变我的条形图上的颜色

    我刚刚开始使用 jpgraph 和 XAMPP 我想制作一个条形图 当我在网上阅读一些文章时 它说您可以传递一系列颜色来设置填充颜色 以便每个条形都具有不同的颜色 然而 每当我传递它的颜色时 图表都不会改变其默认的浅蓝色颜色 图表响应数据的
  • 扩展 prestashop web 服务资源

    我正在尝试延长carts多一个字段的资源应输出以下结果Cart getSummaryDetails称呼 我已经延长了CartCore类添加新参数和相应的方法 如下所示 class Cart extends CartCore protecte
  • MS Access 通过文本框而不是下拉列表搜索记录

    我对 MS Access 还很陌生 我正在尝试创建一个简单的表单 基本上将使用文本框而不是下拉框搜索特定记录 本质上 用户将能够输入 ID 号并检索一些其他相关信息 但是 我不希望用户能够向数据库添加任何新记录 我已经能够让表单看起来像我想
  • 使用 Javascript 转到本地 URL

    同样的问题here但我需要在 Firefox 中访问本地 URL 我尝试使用类似的代码 var url file E Test Test htm window location href url 但 id 不起作用 尝试去与window l
  • PHP PDO 缓存

    我一直在寻找这个问题的答案 但没有在任何地方找到 对 PDO prepare 的调用是否已缓存 或者我应该自己缓存结果 即如果我执行以下操作 function foo handle PDO prepare do stuff with the
  • SQL Server ORDER BY 日期和最后的空值

    我正在尝试按日期订购 我希望最近的日期排在最前面 这很简单 但是有许多记录为空 并且这些记录位于任何具有日期的记录之前 我尝试了一些方法但没有成功 ORDER BY ISNULL Next Contact Date 0 ORDER BY I
  • 更改 PreferenceActivity 文本颜色

    我想将 Android 应用程序的首选项屏幕的外观更改为深色文本颜色 我怎样才能做到这一点 我已经将背景更改为白色 我假设您使用一个 Activity 来扩展PreferenceActivity 您可以使用setTheme方法在您的首选项屏
  • 使用 web.config 允许服务器端包含在 HTML 文件中 (IIS)

    在IIS 7 5中 是否可以使用网络配置单独启用SSI处理具有以下内容的文件 html扩大 具体来说 我不想使用默认的 SSI 扩展 shtml Reason 我不想更改扩展名 这样做会导致搜索引擎结果中的链接损坏 另外 我这样做的动机是网
  • asp.net core 2.0中的机器密钥?

    我有相同的 asp net core 2 应用程序在 2 个不同的服务器上运行 但使用相同的数据库来存储用户等 问题是 如果我在一台服务器中创建并设置用户密码 则运行同一应用程序的另一台服务器将返回无效密码 反之亦然 几年前 我在使用 AS
  • 用于平铺列表视图的 WPF 工具包

    我需要创建格式良好的按钮图块 例如 Windows 8 起始页 是否有任何工具包可用于自定义 ListView 它可能支持平铺视图或网格视图 具有一些格式设置 并且可能有一些动画选项 我尝试创建自己的自定义列表视图 但这似乎是一项复杂的任务
  • 如何避免 super() 无限递归?

    我有这样的代码 class A object def init self self a 1 class B A def init self self b 2 super self class self init class C B def