python 获取已实例化对象的参数并重新实例化对象
时间: 2024-01-22 11:21:07 浏览: 64
在 Python 中,可以使用 `vars` 函数或 `__dict__` 属性获取已实例化对象的属性和值。然后,可以使用这些属性和值来重新实例化对象。
例如,如果我们有一个类 `Person`,它有两个属性 `name` 和 `age`:
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
```
我们可以创建一个 `Person` 实例:
```python
p = Person('Alice', 25)
```
现在,我们可以使用 `vars` 函数获取该实例的属性和值:
```python
attrs = vars(p)
print(attrs)
# 输出:{'name': 'Alice', 'age': 25}
```
然后,我们可以使用这些属性和值来重新实例化对象:
```python
new_p = Person(**attrs)
print(new_p.name) # 输出:Alice
print(new_p.age) # 输出:25
```
这里的 `**` 符号是用来解包字典的。
阅读全文