python - 如何在python中复制未初始化的类
问题描述
我有这门课
class TestEvent(object)
value = None
我想获得此类的副本,因此不会被引用,但是当我尝试使用复制库时,始终会引用变量:
>>> clsOne = TestEvent
>>> clsTwo = copy.deepcopy(TestEvent)
>>> clsOne.value = "hello motto"
>>> clsTwo.value
"hello motto"
情况也是如此copy.copy
。有人可以告诉我如何获得这门课的副本吗?
解决方案
copy.copy()
当你通过一个类时,朋友们将返回不变的值。
您可以type()
改用:
# shallow copy of the namespace
new_cls = type(cls.__name__, cls.__bases__, dict(cls.__dict__))
或者:
# deep copy of the namespace
new_cls = type(cls.__name__, cls.__bases__, copy.deepcopy(dict(cls.__dict__)))
推荐阅读
- google-apps-script - Google 表单的链接列表以列出 Google 表格
- powershell - 使用powershell获取“Audit Policy”安全设置值
- php - 我可以在 Ubuntu Server 20.04 上使用 PHP 5.3.29 安装 apache 吗?
- go - 转到列表:查询“最新”没有匹配的版本
- kotlin - 有没有像 Python 的 RICH 一样的库,但适用于 Kotlin?
- javascript - “可选”字段的字段验证
- java - 当请求被客户端中止时,WebFlux 如何停止发布者?
- kubernetes - Helm,K8s:是否可以将 k8s 机密中的值提取到 configmap.yaml
- html - 在烧瓶中验证 reCAPTCHA
- c# - 如何从包含 .Net 5 Web API 中的 HttpContext 数据的通用类创建响应