在Python中,我有几个函数使用用户目录的位置作为确定文件放置位置的方法。
我目前正在使用"全球"所有要使用的函数的变量。
home = os.path.expanduser('~')
我想知道这是不是很好的编码习惯。
这样做的好处是程序只需要执行一次此代码。
每次调用它时,我也可以调用每个函数os.path.expanduser
。
哪个更像pythonic?或者是否有一种pythonicer方式?
答案 0 :(得分:2)
全局变量没有任何问题。这是您设计程序的结果。您编写了一些函数并将它们放在一个模块中,而globals是一种在模块中的各个函数之间共享数据的方法。
例如,如果您决定使用面向对象的设计,那么可以认为应该避免使用全局变量并且应该封装共享数据。但你没有这样做,所以全局都很好。
答案 1 :(得分:0)
可以使用全局常量。最后,在同一模块中定义的所有第一级函数和类在这个意义上也是“全局的”。
当系统的不同组件开始重新分配其值或改变其内容时,使用gobal变量会变得混乱。在这种情况下,它是一个明显的反模式,可能导致调试地狱。