首页 > 解决方案 > 在python类中解构和赋值的神奇方法

问题描述

我们可以使用 Python 的内置类(如列表或元组)轻松解构和分配变量,如下所示。

a, b = 1, 2

但是,如果我们不希望继承这些类,并且希望我们的容器具有与下面的代码片段类似的行为,我们将如何做到这一点?有什么神奇的方法吗?

class MyClass:
    ...

instance = MyClass()

# assuming there are some properties in the class for this
a, b = instance

想到的一个例子是数据类(尽管我们已经可以使用 NamedTuple 来实现)

from dataclasses import dataclass

@dataclass
class MyClass:
    name: str
    age: int

instance = MyClass("John", 10)
name, age = instance

标签: pythonpython-3.x

解决方案


推荐阅读