有没有办法在 Python 中声明一个常量?在 Java 中,我们可以通过以下方式创建常量值:
public static final String CONST_NAME = "Name";
Python中上述Java常量声明的等价物是什么?
不,那里没有。您不能在 Python 中将变量或值声明为常量。只是不要改变它。
如果您在课堂上,则等效为:
class Foo(object): CONST_NAME = "Name"
如果不是,那只是
CONST_NAME = "Name"
但是您可能想看看Alex Martelli编写的 Python 中的代码片段常量。
从 Python 3.8 开始,有一个typing.Final变量注释会告诉静态类型检查器(如 mypy)你的变量不应该被重新分配。这是最接近 Java 的final. 但是,它 实际上并不能阻止重新分配 :
typing.Final
final
from typing import Final a: Final = 1 # Executes fine, but mypy will report an error if you run mypy on this: a = 2