如何在 Python 中创建常量?
问题描述
有没有办法在 Python 中声明一个常量?在 Java 中,我们可以通过这种方式创建常量值:
Is there a way to declare a constant in Python? In Java we can create constant values in this manner:
public static final String CONST_NAME = "Name";
上述Java常量声明在Python中的等价物是什么?
What is the equivalent of the above Java constant declaration in Python?
解决方案
没有没有.您不能在 Python 中将变量或值声明为常量.只是不要改变它.
No there is not. You cannot declare a variable or value as constant in Python. Just don't change it.
如果您在课堂上,则相当于:
If you are in a class, the equivalent would be:
class Foo(object):
CONST_NAME = "Name"
如果没有,那只是
CONST_NAME = "Name"
但您可能想看看代码片段 Python 中的常量 by Alex Martelli.
But you might want to have a look at the code snippet Constants in Python by Alex Martelli.
从 Python 3.8 开始,有一个 typing.Final
变量注释将告诉静态类型检查器(如 mypy)不应重新分配您的变量.这是最接近 Java 的 final
的等价物.但是,它实际上并不能阻止重新分配:
As of Python 3.8, there's a typing.Final
variable annotation that will tell static type checkers (like mypy) that your variable shouldn't be reassigned. This is the closest equivalent to Java's final
. However, it does not actually prevent reassignment:
from typing import Final
a: Final = 1
# Executes fine, but mypy will report an error if you run mypy on this:
a = 2
相关文章