我在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:语法无效
答案 0 :(得分:1)
from
是Python中的reserved word。在raise
语句中使用它来分配父级异常,在yield from
中使用它来委托给迭代器。
一种常见的解决方法是,如果您希望使用保留字作为变量(例如,使用from_
),请在下划线后面加上下划线。您可以在operator
模块中看到一些示例,该模块定义了in_
,is_
和not_
之类的函数。即使技术上没有保留,这也经常适用于内置函数和类。请注意,在documentation中,在下划线前添加稍有特殊的含义,而在下划线后面则没有特殊含义。
有趣的奖励事实:keyword
模块具有关键字(kwlist
)的完整列表,让您直接在解释器中检查单词是否为关键字(iskeyword
)。这甚至适用于来自__future__
导入的新关键字。