Python是我作为字段自动传递给类的东西

2024-04-18 02:43:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我讨厌打字

class A:
    def __init__(self, x, y, z):
        self.x,self.y,self.z = x,y,z

感觉就像是多余的代码。有没有办法说“我传入的这些变量将成为一行中具有适当名称(即与这些变量名称相同的名称)的字段?”


Tags: 代码self名称initdefclass感觉办法
2条回答

在python3.7+中,新的^{}模块似乎很适合这种情况。不过,您必须对参数的类型进行注释,这可能对您有利,也可能对您不利

您可以通过以下方式实现您的目标:

class My:
    def __init__(self, **kwargs):
        for k,v in kwargs.items():
            setattr(self, k, v)

my = My(foo=10, bar=12)

print(vars(my))

参见此处获取Documentation

相关问题 更多 >