我想创建一个Python类来表示一个字典my_dict我想转换成如下格式
my_class = MyClass(**my_dict)
问题是其中一个字典键被称为'class'
所以当我这样做时,Python会报错:
class MyClass(BaseModel)
name: str
address: str
id: int
class: str <-- Python does not like me using the keyword class
我怎样才能绕过这个?
正如decize在他们的注释中所说,解决这个问题的传统方法是在属性名后面加上下划线. 我确信可能有一些hack的方法来获得一个名为class
的属性,但它可能不值得设置和维护它。
这在PEP8中有描述,它概述了Python代码的样式指南:
single_trailing_underscore_
:按照惯例使用,以避免与Python关键字冲突,例如tkinter.Toplevel(master, class_='ClassName')