如何解决如何在python中定义最终的classvar变量
ITNOA
正如您在 PEP 526 中看到的,我们可以使用 ClassVar 词定义静态变量类。如下图
class Starship:
stats: ClassVar[dict[str,int]] = {} # class variable
damage: int = 10 # instance variable
还有另一个打字功能,正如您在 PEP 591 中看到的,我们可以使用 Final word 定义常量(只读)变量,如下所示
class Connection:
TIMEOUT: Final[int] = 10
我的问题是如何将这两个词结合起来说我的类静态变量是最终的?
例如下面的代码是否有效?
class Connection:
TIMEOUT: Final[ClassVar[int]] = 10
解决方法
来自PEP-591:
类型检查器应该推断在一个初始化的最终属性 类主体作为类变量。变量不应该 使用 ClassVar 和 Final 进行注释。
所以你可以使用:
class Connection:
TIMEOUT: Final[int] = 10
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。