sor*_*abz 12 python python-3.x python-3.8 python-typing
正如您在PEP 526中看到的,我们可以使用 ClassVar 字定义静态变量类。像下面这样
class Starship:
stats: ClassVar[dict[str, int]] = {} # class variable
damage: int = 10 # instance variable
Run Code Online (Sandbox Code Playgroud)
正如您在PEP 591中看到的另一个打字功能,我们可以使用 Final word 定义常量(只读)变量,如下所示
class Connection:
TIMEOUT: Final[int] = 10
Run Code Online (Sandbox Code Playgroud)
我的问题是如何组合这两个词来表示我的类静态变量是 Final?
例如下面的代码有效吗?
class Connection:
TIMEOUT: Final[ClassVar[int]] = 10
Run Code Online (Sandbox Code Playgroud)
jua*_*aga 14
来自PEP-591:
类型检查器应该推断在类主体中初始化为类变量的最终属性。变量不应同时使用 ClassVar 和 Final 进行注释。
所以你可以只使用:
class Connection:
TIMEOUT: Final[int] = 10
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8934 次 |
最近记录: |