python - 从字典构造实例变量

标签 python python-2.7

<分区>

我写了一个类,其中构造函数接收一个字典,如下代码所示:

class Test:
     def __init__(self, **kwargs):
           for key, value in kwargs.items():
               self.key = value

我最后想做的是能够引用每个键,如下面的代码所示:

T = Test(age=34, name='david')
print(T.age)

相反,我得到关键字不能是表达式..

最佳答案

你可以更新类字典:

class Test:
     def __init__(self, **kwargs):
           self.__dict__.update(kwargs)

您还可以查询 vars 和更新(相比直接调用 __dunder__ 属性,人们更喜欢这样做)。

class Test:
     def __init__(self, **kwargs):
           vars(self).update(kwargs)

关于python - 从字典构造实例变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46215538/

相关文章:

python - 只有在发生异常时才重新引发异常的更好语法?

python - OpenCV python:solvePnP ValueError:太多值无法解压

python - Selenium Webdriver Python 如何从所有复选框中删除勾号(如果它们被勾选)

python - 替代 python 安装时出现 xvfbwrapper 导入错误

python - 在 Nose 测试中使用继承setUp()和tearDown()方法

python - 在 Mac OSX El Capitan 下如何让 PyC​​harm 识别 Python 2.7 中的 sys 模块?

python - 在 Databricks Python 脚本中使用 URL 时的 CERTIFICATE_VERIFY_FAILED 和 SSLV3_ALERT_HANDSHAKE_FAILURE

python PIL 和 tkinter;增亮图像并显示它

python - 哪种方法可以更简洁地获取 Python @property 作为具有特定条件的列表?

python - 用 Python 计算元组的出现次数