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

时间:2019-01-23 21:14:43

标签: python python-3.x keyword

我正在调用一个API,该API返回一个AttributeDict,它具有许多属性,例如tofrom

要访问这些属性,我使用点表示法。例如,我使用object.to,就可以正常工作。

当我尝试使用object.from时,出现错误消息SyntaxError: invalid syntax。我认为这是因为from is a keyword in Python

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

1 个答案:

答案 0 :(得分:4)

虽然可以使用getattr访问此类属性:

val = getattr(ad, 'from')

这比AttributeDict支持的ad['from']语法麻烦,并且不能满足您对点分表示法的需求。

当前没有选项可以使用点分符号访问此类属性。只需坚持索引。它处理保留名称,带空格/连字符/等的名称。它们中的名称,以及与现有方法冲突的名称(假定合理的AttributeDict实现)。即使您使用了getattrgetattr(ad, 'get')仍可能会返回AttributeDict的get方法,而不是'get'键的值。