一尘不染

如何在Python中创建常量?

python

有没有办法在Python中声明常量?在Java中,我们可以按以下方式创建常量值:

public static final String CONST_NAME = "Name";

Python中上述Java常量声明的等效项是什么?


阅读 518

收藏
2020-02-16

共1个答案

一尘不染

不,那里没有。你无法在Python中将变量或值声明为常量。只是不要更改它。

如果你正在上课,则等价于:

class Foo(object):
    CONST_NAME = "Name"

如果不是,那只是

CONST_NAME = "Name"

但是你可能想看看Alex Martelli 编写的Python代码片段中的Constants。

从Python 3.8开始,有一个typing.Final变量注释可以告诉静态类型检查器(如mypy),不应重新分配你的变量。这与Java的最接近final。但是,它实际上并不能阻止重新分配:

from typing import Final

a: Final = 1

# Executes fine, but mypy will report an error if you run mypy on this:
a = 2
2020-02-16