python 3:类“模板”(返回参数化类的函数)

2024-02-14

我正在尝试创建一个传递参数的函数x并返回一个新类C. C应该是固定基类的子类A,仅添加一项:添加某个类属性并将其设置为 equalx.

换句话说:

class C(A):
  C.p = x # x is the parameter passed to the factory function

这容易做到吗?有什么我应该注意的问题吗?


首先,请注意术语“类工厂”在 Python 中有些过时了。它在 C++ 等语言中用于返回类的动态类型实例的函数。它之所以有这个名字,是因为它在 C++ 中脱颖而出;这种情况并不罕见,但由于太不常见,因此给模式命名很有用。然而,在 Python 中,这是不断进行的——这是一个非常基本的操作,以至于没有人再费心给它起一个特殊的名字。

另请注意,类工厂返回类的实例,而不是类本身。 (同样,这是因为它来自 C++ 等语言,这些语言没有返回类的概念——仅返回对象。)但是,您说您想要返回“一个新类”,而不是类的新实例。

创建本地类并返回它很简单:

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

python 3:类“模板”(返回参数化类的函数) 的相关文章

  • 使用特定的类/函数预加载 Jupyter Notebook

    我想预加载一个笔记本 其中包含我在另一个文件中定义的特定类 函数 更具体地说 我想用 python 来做到这一点 比如加载一个配置文件 包含所有相关的类 函数 目前 我正在使用 python 生成笔记本并在服务器上自动启动它们 因为不同的
  • Pandas/Google BigQuery:架构不匹配导致上传失败

    我的谷歌表中的架构如下所示 price datetime DATETIME symbol STRING bid open FLOAT bid high FLOAT bid low FLOAT bid close FLOAT ask open
  • 用枢轴点拟合曲线 Python

    我有下面的图 我想用 2 条线来拟合它 使用 python 我设法适应上半部分 def func x a b x np array x return a x b popt pcov curve fit func up x up y 我想用另
  • 需要在python中找到print或printf的源代码[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在做一些我不能完全谈论的事情 我
  • 删除flask中的一对一关系

    我目前正在使用 Flask 开发一个应用程序 并且在删除一对一关系中的项目时遇到了一个大问题 我的模型中有以下结构 class User db Model tablename user user id db Column db String
  • Python zmq SUB 套接字未接收 MQL5 Zmq PUB 套接字

    我正在尝试在 MQL5 中设置一个 PUB 套接字 并在 Python 中设置一个 SUB 套接字来接收消息 我在 MQL5 中有这个 include
  • 在Python中连接反斜杠

    我是 python 新手 所以如果这听起来很简单 请原谅我 我想加入一些变量来生成一条路径 像这样 AAAABBBBCCCC 2 2014 04 2014 04 01 csv Id TypeOfMachine year month year
  • 如何将张量流模型部署到azure ml工作台

    我在用Azure ML Workbench执行二元分类 到目前为止 一切正常 我有很好的准确性 我想将模型部署为用于推理的 Web 服务 我真的不知道从哪里开始 azure 提供了这个doc https learn microsoft co
  • Python 2:SMTPServerDisconnected:连接意外关闭

    我在用 Python 发送电子邮件时遇到一个小问题 me my email address you recipient s email address me email protected cdn cgi l email protectio
  • Python beautifulsoup 仅限 1 级文本

    我看过其他 beautifulsoup 得到相同级别类型的问题 看来我的有点不同 这是网站 我正试图拿到右边那张桌子 请注意表的第一行如何展开为该数据的详细细分 我不想要那个数据 我只想要最顶层的数据 您还可以看到其他行也可以展开 但在本例
  • 如何使用 Mysql Python 连接器检索二进制数据?

    如果我在 MySQL 中创建一个包含二进制数据的简单表 CREATE TABLE foo bar binary 4 INSERT INTO foo bar VALUES UNHEX de12 然后尝试使用 MySQL Connector P
  • 在 Sphinx 文档中*仅*显示文档字符串?

    Sphinx有一个功能叫做automethod从方法的文档字符串中提取文档并将其嵌入到文档中 但它不仅嵌入了文档字符串 还嵌入了方法签名 名称 参数 我如何嵌入only文档字符串 不包括方法签名 ref http www sphinx do
  • 如何使用 pybrain 黑盒优化训练神经网络来处理监督数据集?

    我玩了一下 pybrain 了解如何生成具有自定义架构的神经网络 并使用反向传播算法将它们训练为监督数据集 然而 我对优化算法以及任务 学习代理和环境的概念感到困惑 例如 我将如何实现一个神经网络 例如 1 以使用 pybrain 遗传算法
  • Numpy - 根据表示一维的坐标向量的条件替换数组中的值

    我有一个data多维数组 最后一个是距离 另一方面 我有距离向量r 例如 Data np ones 20 30 100 r np linspace 10 50 100 最后 我还有一个临界距离值列表 称为r0 使得 r0 shape Dat
  • javascript 是否有等效的 __repr__ ?

    我最接近Python的东西repr这是 function User name password this name name this password password User prototype toString function r
  • 实现 XGboost 自定义目标函数

    我正在尝试使用 XGboost 实现自定义目标函数 在 R 中 但我也使用 python 所以有关 python 的任何反馈也很好 我创建了一个返回梯度和粗麻布的函数 它工作正常 但是当我尝试运行 xgb train 时它不起作用 然后 我
  • 使用for循环时如何获取前一个元素? [复制]

    这个问题在这里已经有答案了 可能的重复 Python 循环内的上一个和下一个值 https stackoverflow com questions 1011938 python previous and next values inside
  • Pandas 每周计算重复值

    我有一个Dataframe包含按周分组的日期和 ID df date id 2022 02 07 1 3 5 4 2022 02 14 2 1 3 2022 02 21 9 10 1 2022 05 16 我想计算每周有多少 id 与上周重
  • 更改 Tk 标签小部件中单个单词的颜色

    我想更改 Tkinter 标签小部件中单个单词的字体颜色 我知道可以使用文本小部件来实现与我想要完成的类似的事情 例如使单词 YELLOW 显示为黄色 self text tag config tag yel fg clr yellow s
  • 使用随机放置的 NaN 创建示例 numpy 数组

    出于测试目的 我想创建一个M by Nnumpy 数组与c随机放置的 NaN import numpy as np M 10 N 5 c 15 A np random randn M N A mask np nan 我在创建时遇到问题mas

随机推荐

  • Qemu-KVM:将访客物理地址转换为主机虚拟/主机物理地址

    我正在做一个需要翻译的项目qemu guest物理地址到主机虚拟 物理地址 我正在使用 VMI 虚拟机自省 来自省 qemu 进程 KVM VM 并读取存储在 virtio 环缓冲区描述符中的来宾物理地址 因此 我正在寻找一种简单的方法来将
  • Maven Tomcat 插件更改端口

    我正在尝试创建一个 Spring MVC 应用程序并使用 Maven Tomcat 插件来部署它 如何更改上下文路径和端口 这是我放置在 pom xml 中的 Maven 插件 plugin gt
  • 将一个类传递给另一个类 (Python)

    我现在在上课时遇到了一些麻烦 我不知道如何解决我的问题 我已阅读文档 但无法将其中所说的任何内容与我遇到的问题联系起来 我正在尝试为游戏制作一些简单的课程 我有一个 Weapon 类和一个 Person 类 我试图将武器传递给 Person
  • 团队消息传递扩展是否可以返回明文响应而不是卡片?

    我正在尝试基于 v4 bot SDK 创建 Teams 消息传递扩展 该扩展可搜索知识库并提供可放入聊天中的建议响应 搜索有效 我可以选择一张卡片放入聊天中 但我想去掉格式 只将一段文本返回到聊天中 即我不希望聊天中的其他人看到响应来自扩展
  • Dart 编辑器:预期 url

    我有这个错误 Internal error http 127 0 0 1 3030 Motion bin csscode dart error line 2 pos 6 url expected part of dart motion 这部
  • 限制 javafx gui 更新

    我在随机时间以高频率接收数据对象 并且需要用这些数据更新 JavaFX GUI 但是 我不想用大量可运行对象填充 javafx 事件队列 我使用 Platform RunLater 我一直在思考如何最好地实现一个节流算法 最好有一个单独的
  • 从多个数组生成所有可能的组合(C#/VB.NET)[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions I have n数组的数量 每个数组
  • 为什么 32 位寄存器上的 x86-64 指令会将整个 64 位寄存器的上部清零?

    In the x86 64 Intel 手册之旅 http x86asm net articles x86 64 tour of intel manuals I read 也许最令人惊讶的事实是诸如这样的指令MOV EAX EBX自动将高
  • 当我运行此命令时,docker 无法识别服务 sudo service docker stop

    我正在尝试将图像推送到我自己的 docker 注册表 我收到无效端点注册表错误 当我用 google 搜索时 我得到了运行这些命令的解决方案 这是链接远程访问私有 docker registry https stackoverflow co
  • 如何校正检测到的椭圆

    我试图在图像中找到圆圈并将它们扭曲回规范视图 即就像看着中心一样 然而 在透视变换下 圆形通常会投影为椭圆 所以我首先检测椭圆 大致执行以下操作 在 OpenCV 中 1 Find contours in the image 2 Estim
  • 如何在 Ruby 中使用 RegEx 更改字符串中字母的大小写

    假设我有一个字符串 hEY 我想将其转换为 嘿 string gsub a z A Z 1 upcase 这就是我的想法 但当我在 gsub 方法中使用 upcase 方法时 它似乎什么也不做 这是为什么 编辑 我想出了这个方法 strin
  • 如何在 Play 2.1 中仅通过命令行获取应用程序名称和版本

    根据这个好技巧 https stackoverflow com a 14581996 1066240我正在设置版本并在命令之后play normalized name version在控制台中得到类似的输出 info Loading pro
  • 使用 javascript、actions 和 webdriver 单击元素?

    我们可以使用以下方法来点击网页元素 myWebElement click or JavascriptExecutor js JavascriptExecutor driver js executeScript arguments 0 cli
  • 变得严重:获取 sessionfactory 时无法在 JNDI 中找到 SessionFactory

    我使用 hibernate 作为持久层来与数据库通信 我使用maven插件hbm2java来生成dao java hbm xml和hibernate cfg xml 到那时插件就可以正常工作了 但是当我尝试与数据库通信时 它给出了以下异常
  • MongoError:聚合期间 PlanExecutor 错误

    我在 mongodb 中有树记录 但可能还有更多 我通过来自前端的 ID 获取商店 我需要获取 20 条记录 并按 itemId 和 colorId 对它们进行分组 并获取每个商店的计数 商店数量可以是 1 2 3 10 等 这是我需要的输
  • 直接访问gitlab数据库

    我正在从 gitlab 运行 AWS AMI 我正在尝试使用 psql 直接访问 postgres 数据库 我想我可以只使用database yml中的凭据 因为rails应用程序工作正常 opt gitlab embedded bin p
  • dotnet System.Web.Caching.Cache 与 System.Runtime.Caching.MemoryCache

    我有一个类需要将数据存储在缓存中 最初我在 asp net 应用程序中使用它 所以我使用 System Web Caching Cache 现在我需要在 Windows 服务中使用它 现在 据我了解 我不应该在非 asp net 应用程序中
  • 在 Postgresql 中索引外键

    像许多 Postgres 一样n00bs我们有很多带有外键约束但未建立索引的表 在某些情况下 这不会对性能造成很大影响 但这需要进一步分析 我读过以下文章 https www cybertec postgresql com en index
  • Databricks 连接失败,方案没有文件系统:abfss

    我已经设置了数据块连接 https docs databricks com dev tools databricks connect html这样我就可以在本地进行开发并获得 Intellij 的好处 同时利用 Azure Databric
  • python 3:类“模板”(返回参数化类的函数)

    我正在尝试创建一个传递参数的函数x并返回一个新类C C应该是固定基类的子类A 仅添加一项 添加某个类属性并将其设置为 equalx 换句话说 class C A C p x x is the parameter passed to the