关于python:如何访问与保留关键字同名的属性?

how can I access attributes that have the same name as reserved keywords?

我调用的API返回的AttributeDict具有多个属性,如tofrom

为了访问这些属性,我使用点表示法。例如,我使用object.to,效果很好。

当我试图使用object.from时,我得到一个错误,上面写着SyntaxError: invalid syntax。我认为这是因为from是python中的关键字。

如果是这种情况,是否可以使用点访问from?目前,我使用的是object["from"],它正在工作,但与我的其他代码不匹配。


虽然可以使用getattr访问这些属性:

1
val = getattr(ad, 'from')

这比您的attributedict支持的ad['from']语法更麻烦,并且不能满足您对点符号的需求。

目前没有使用点标记访问这些属性的选项。只需坚持索引。它处理保留名称、其中包含空格/连字符的名称,以及与现有方法相冲突的名称(假设实现了合理的attributedict)。即使使用getattrgetattr(ad, 'get')仍可能返回attributedict的get方法,而不是'get'键的值。