如何在python中设置全局常量变量



我正在构建一个包含各种类和函数的解决方案,所有这些类和函数都需要访问一些全局consant才能正常工作。由于python中没有const,您认为设置一种全局consant的最佳实践是什么。

global const g = 9.8 

所以我正在寻找一种以上

编辑:怎么样:

class Const():
    @staticmethod
    def gravity():
        return 9.8
print 'gravity: ', Const.gravity()

您不能在Python中定义常量。如果你找到某种破解方法,你只会让所有人都感到困惑。

要做这类事情,通常你只需要一个模块-例如globals.py,你可以在需要的地方导入它

一般惯例是用大写和下划线定义变量,而不是更改它

GRAVITY = 9.8

但是,可以使用namedtuple 在Python中创建常量

import collections
Const = collections.namedtuple('Const', 'gravity pi')
const = Const(9.8, 3.14)
print(const.gravity) # => 9.8
# try to change, it gives error
const.gravity = 9.0 # => AttributeError: can't set attribute

对于namedtuple,请参阅此处的文档

相关内容

  • 没有找到相关文章

最新更新