我无法将该字段命名为“from”

Rea*_*Gay 7 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]
Run Code Online (Sandbox Code Playgroud)
from: Optional[str]
    ^
Run Code Online (Sandbox Code Playgroud)

语法错误:语法无效

Mad*_*ist 3

from是Python中的保留字。它在raise语句中用于分配父异常,并在yield from委托给迭代器中使用。

如果您希望使用保留字作为变量(例如 use ),常见的解决方法是附加下划线from_。您可以在模块中看到一些这样的示例,其中定义了、和 等operator函数。这也经常适用于内置函数和类,即使它们在技术上没有保留。请注意,在文档中,前置下划线具有稍微特殊的含义,而附加下划线则没有。in_is_not_

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

  • 是的,我知道,我该如何解决这个问题?有小费吗? (2认同)