python - 如何就地更新数据类?
问题描述
给定同一数据类的两个实例,如何使用第二个实例的值就地更新第一个实例?
IE
@dataclass
class Foo:
a: str
b: int
f1 = Foo("foo", 1)
f2 = Foo("bar", 2)
# Update in place, so that f1.a == f2.a, f1.b == f2.b and so on
注意:我不想简单地设置f1 = f2
; 我想f1
就地更新。
解决方案
用于dataclasses.fields
循环遍历所有属性并一一设置。
from dataclasses import fields
for f in fields(f2):
setattr(f1, f.name, getattr(f2, f.name))
推荐阅读
- java - I have a cycling reference in my eclipse projects
- java - How to add mime-types in embedded jetty
- java - Tomcat 启用 CORS:来自 Safari 的 POST 请求返回 200,Chrome 和 Firefox 返回 403
- php - 为了显示sticky_nav,用什么替换函数largo_enqueue_js?
- amazon-web-services - AWS SES CORS Issue
- r - I would like to use dplyr::mutate than plyr::ddply function in pipeline processing
- mysql - How can I use two WHERE in a command
- python - How to make a drop-down menu scrollable
- postman - IBM Watson Translate 使用 Postman 的 apikey 授权失败
- webpack-4 - webpack4 mini-css-extract-plugin 与波旁威士忌