常量是在扫数这个词门径施行历程中保捏不变的值,诚然 Python 中莫得常量的主见,但不错使用多种本领来创建常量。在本文中露出 勾引,咱们将先容在 Python 中界说常量的不同活动。
使用大写的变量称呼Python 中的一个常见商定是使用大写变量称呼来辅导应将变量视为常量,提醒其他引诱东谈主员不应修改该值。PI = 3.141592653589793EULER_NUMBER = 2.718281828459045MAX_VALUE = 100在上头的示例中,通过使用大写字母界说了常量。可是,请务必顾惜,Python 不会阻截修改这些变量,需要依赖于门径员自发着力商定。使用模块 enumenum 模块提供了一种使用摆设界说常量的活动。from enum import EnumclassConstant(Enum): PI = 3.141592653589793 EULER_NUMBER = 2.718281828459045print(Constant.PI.value)print(Constant.EULER_NUMBER.value)在上头这个示例中,使用 enum 模块界说一个名为 Constants 的摆设类来创建两个常量。常量被界说为摆设类的成员,不错使用 .value 属性拜谒常量值。尝试修改常量的值将激励越过。使用模块 pconstfrom pconst import const const.PI = 3.141592653589793const.MAX_VALUE = 100print(const.PI) print(const.MAX_VALUE)如若尝试更新常量的值,将激励 ConstantError。readonly 冻结变量在 Python 中使用 readonly 库的讳饰器,将变量标记为只读,从而驻防在开动赋值后进行修改。from readonly import readonly@readonlyclassConstants: PI = 3.141592653589793print(Constants.PI)在上头示例中,如若对 Constants.PI 进行赋值,将激励失实 AttributeError: can't set attribute。@property 树立只读创建只读类属性,不错使用@property讳饰器,驻防属性的更正。classConstants: _PI = 3.141592653589793 @propertydefPI(self):return self._PIConst = Constants()print(Const.PI) 建立文献中存储常量不错使用 INI 样式的外部建立文献来存储常量,使用表率库 configparser 读取文献中的常量。# constants.ini 文献[CONSTANTS]PI = 3.141592653589793EULER_NUMBER = 2.718281828459045MAX_VALUE = 100from configparser import ConfigParserconstants = ConfigParser()constants.read("constants.ini")print(constants.get("CONSTANTS", "PI"))print(constants.get("CONSTANTS", "EULER_NUMBER"))print(constants.get("CONSTANTS", "MAX_VALUE"))在 Python 中诚然莫得对常量内置复古,但不错使用多样本领来界说它们,常量王人有助于耕作代码的可读性、更好的可顾惜性、明晰的意图传达、裁汰失实风险。