我无法将字段命名为“来自”

时间:2019-07-26 02:07:10

标签: python python-3.x python-dataclasses

我在python上为自己编写了一个脚本,使用了数据类库,我有一个用Java编写的现成的DTO,我尝试在python上重复,有一个名为“ from”的字段,我该怎么办?在python中称呼这个字段,因为我不能用同样的方式称呼他?

我使用python 3.7和dataclass_json

@dataclass_json
@dataclass
class Direction:
    from: Optional[str]
    to: Optional[str]
from: Optional[str]
    ^

SyntaxError:语法无效

1 个答案:

答案 0 :(得分:1)

from是Python中的reserved word。在raise语句中使用它来分配父级异常,在yield from中使用它来委托给迭代器。

一种常见的解决方法是,如果您希望使用保留字作为变量(例如,使用from_),请在下划线后面加上下划线。您可以在operator模块中看到一些示例,该模块定义了in_is_not_之类的函数。即使技术上没有保留,这也经常适用于内置函数和类。请注意,在documentation中,在下划线前添加稍有特殊的含义,而在下划线后面则没有特殊含义。

有趣的奖励事实:keyword模块具有关键字(kwlist)的完整列表,让您直接在解释器中检查单词是否为关键字(iskeyword)。这甚至适用于来自__future__导入的新关键字。