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

标签 python python-3.x keyword

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

为了访问这些属性,我使用了点符号。例如,我使用 object.to 并且效果很好。

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

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

最佳答案

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

val = getattr(ad, 'from')

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

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

关于python - 如何访问与保留关键字同名的属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54335750/

相关文章:

python - 使用 sas 连接时,Azure Blob 存储会出现身份验证错误(没有签名标识符的访问时间窗口不能超过 1 小时)

python - 数据框列上的日期偏移量

python - 添加字符串 + 自动递增 - pandas, python

在 Solr/Lucene 中记录搜索关键字

SQL Server 2008 R2 内连接无法匹配 varchar 字段,因为它包含特殊字符

Python os.rename 和 os.walk 一起使用

python - 从 matplotlib 到 tkinter 获取值(value)

python-3.x - 使用Python解码套接字中收到的字节

python - 需要 python 3 中的 telnet 模块教程

java - Solr:将文本字段复制到另一个文本字段并转换为关键字