类型错误:__init_subclass__() 不接受关键字参数

2023-12-21

我正在尝试创建一个元类,但是当我将其分配给另一个类时,我收到错误:

类型错误:__init_subclass__()不接受关键字参数

但我没有实施任何__init_subclass__。为什么要调用这个函数?

class Meta(type):
    def __new__(cls, name, bases, dct):
        return super().__new__(cls, name, bases, dct)

class MyClass(meta=Meta):
    pass

Change meta to metaclass。传递给类签名的任何关键字参数都会传递给其父类的签名__init_subclass__方法。自从你进入meta代替metaclass this metakwarg 被传递给它的父级 (object) __init_subclass__ method:

>>> object.__init_subclass__(meta=5)
TypeError: __init_subclass__() takes no keyword arguments

如果您实际实现了一个类似的错误,则会出现__init_subclass__但犯了一个错字:

class Parent:
  def __init_subclass__(cls, handler=None):
    super().__init_subclass__()
    cls.handler = handler

class CorrectChild(Parent, handler=5):
  pass

class TypoChild(Parent, typo=5):
  # TypeError: __init_subclass__() got an unexpected keyword argument 'typo'
  pass
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

类型错误:__init_subclass__() 不接受关键字参数 的相关文章

随机推荐

  • 在“Google Sheets”Android 应用程序中显示来自 onEdit() 的消息

    I use onEdit 在 Google 表格中控制用户的活动 Google 表格必须像在 Android 桌面设备和移动设备上一样工作 一切正常 但我无法在移动设备上显示任何消息 Browser msgBox 不工作 G Suite 文
  • 来自 Python 中不同输入的实时声音合成器

    我正在尝试构建一种踏板 1 来扭曲变化的输入声音 当我从地面开始时 我试图在 python 中生成连续的声音 并在滑动滚动条 或类似的小部件 时改变该声音的频率 我尝试使用 tkSnack python 库来生成声音 但它在生成的音调之间暂
  • 从 Dart2js 输出创建 Javascript 部署集

    在开发基于 Dart 的 Web 应用程序的 alpha 版本后 我有兴趣测试我的应用程序的 Dart2js 部署潜力 然而 似乎没有一种 干净 的方法来创建应用程序的 JS 部署版本 dart2js 代码将内容输出到 out 目录 但那里
  • 如何将参数传递给`scipy.integrate.solve_ivp`中的事件函数?

    Scipy 正在远离odeint向solve ivp 不再支持为动力学函数传递额外的参数 反而 推荐使用 lambda https github com scipy scipy issues 8352 但是 当我对事件尝试相同的操作时 它们
  • 编译器警告 CS1591“缺少 XML 注释”未显示,但我希望它显示

    我进行了搜索 只发现了想要抑制此警告的人提出的问题 例如Visual Studio 禁用缺少 XML 注释警告 https stackoverflow com questions 7982525 visual studio disablin
  • 如何在 node.js 中从 .csv 转换为 array/json/string

    我有一个 csv 文件想在 node js express 中使用 如何将文件转换为 array json string 类型的变量 我试过了 fs readFile Resource csv function err data conso
  • 为 cucumber-html-reporter 截屏的函数生成“5000 后函数超时..”错误

    我正在使用 protractor cucumber framework 我想为我编写的测试生成 html 报告 我决定使用 cucumber html reporter 来实现它 在我的 hooks js 中 我编写了一个 this Aft
  • 语义 UI 下拉选项数据属性

    我一直在尝试附加一个data 语义 UI 下拉列表中的属性option但没有成功 数据属性不会复制到结果下拉选项中 这是我的结构select HTML
  • 从 UI 调用 System.Threading.Thread 时锁挂起

    EDIT 请参阅问题历史记录 了解未更改的问题 以免评论无效 我单击执行某些代码的按钮并创建一个线程 System Threading Thread 当我重新单击启动进程的按钮时 它会挂起并冻结用户界面 可能是什么原因 public par
  • CKEditor 对话框:通过 ID 引用输入字段

    CKEditor 对话框中的每个输入字段均使用唯一的编号重命名 但该编号会根据可见的选项而变化 我需要引用 txtUrl 它的 id 类似于 35 textInput 到目前为止 我发现这样的事情应该有效 alert CKEDITOR in
  • 将 Drupal 7 站点移至其他服务器,无法登录

    我最近将 Drupal 7 站点移至新的托管服务器 但我被困在登录页面 当我尝试登录时 我会被引导回同一页面 但 URL 会从 user to user 1 这让我相信我实际上已经登录 但我没有被转发到正确的页面 我尝试清理缓存 清空数据库
  • 在 Android 中什么时候使用片段,什么时候不使用片段?

    我是 Android 新手 我想制作一个应用程序 所以 我看到了很多教程 其中一些教程说我需要使用片段 但在其他教程中说 如果我想要或仅当我的应用程序是对于平板电脑 所以 当我必须使用片段和何时不使用片段时 我真的对此感到困惑 请向我解释何
  • JWT 令牌 SSO 流程

    我有一个关于 JWT 的 SSO 流程的简单问题 假设我们有单独的授权服务器 它向客户端应用程序 服务器和资源服务器提供 JWT 客户端尝试使用该令牌进行访问 问题是 资源服务器应该自行验证令牌 例如与身份验证服务器共享私有证书 还是应该请
  • Delphi 程序被 ClamAV 检测为误报

    我的 Delphi XE2 程序是always检测到含有病毒Jotti http virusscan jotti org en由 ClamAV 提供 而其他病毒扫描程序未检测到任何内容 AFAIK ClamAV通常与邮件服务器一起使用 那么
  • CefSharp WpfControl 和渲染到图像

    我们想要在 wpf 应用程序中的基于 chromium 的浏览器中显示网页 在浏览器中显示的网站也应该显示在另一个屏幕上 但没有交互 我想将 cefsharp wpf 浏览器控件和 cefsharp 离屏渲染结合起来 我可以使用一个 chr
  • 为什么 time.clock() 在 Windows Server 2008 X64 上返回如此大的值

    我在不同的机器上运行以下脚本并得到了完全不同的结果 经过的 time clock 太大了 Script import time start clock time clock time sleep 60 end clock time cloc
  • MacO 上的 PyOpenGL OpenGL 版本

    有人告诉我将旧配置文件从其他 stackoverflow 帖子切换到核心配置文件 但我似乎找不到方法来做到这一点 因此 我发布了一个更新的错误帖子来帮助我找到一种方法 CODE import glfw numpy from OpenGL G
  • 如何将 YYYYMMDDHHMMSS 转换为“date”可读的日期

    我有一组 YYYYMMDDHHMMSS 格式的日期 时间字符串 我想将其转换为可读的内容date公用事业 通常 我可以这样做 date d 2010 10 01 12 34 56 然而 date不喜欢 YYYYMMDDHHMMSS date
  • Python 相当于 Matlab 的clear、close all、clc

    在Matlab中 在每个文件的开头 我通常写 clear close all clc Python中有类似的东西吗 大多数人在测试脚本时会做什么 这里的问题是 plt show 是阻塞的 并且在手动关闭窗口之前不会返回到脚本 您可以尝试 p
  • 类型错误:__init_subclass__() 不接受关键字参数

    我正在尝试创建一个元类 但是当我将其分配给另一个类时 我收到错误 类型错误 init subclass 不接受关键字参数 但我没有实施任何 init subclass 为什么要调用这个函数 class Meta type def new c