我尝试从包含比类属性更多键的字典中创建类实例。我已经阅读了来自此链接的相同问题的答案: Creating class instance properties from a dictionary? 。问题在于我不能按照所需的方式编写类定义中的
__init__
,因为我正在使用SQLAlchemy声明式类定义。此外,type('className',(object,),dict)
创建不需要的错误属性。
以下是我找到的解决方案:dict = {'key1': 'value1', 'key2': 'value2'}
object = MyClass(**dict)
但是如果字典中有冗余的键,它就无法工作:
dict = {'key1': 'value1', 'key2': 'value2', 'redundant_key': 'redundant_value'}
object = MyClass(**dict) # here need to ignore redundant_key
除了直接删除字典 dict
中的所有重复键,还有其他解决方案吗?
MyClass
编写__init__
?抱歉,我不熟悉SQLAlchemy声明式类定义的风格。 - Paul Rooney__init__
用于 MyClass,例如在这个答案中 https://dev59.com/Z3I-5IYBdhLWcg3w3cg8#1639197 - Demyanov