声明脚本范围变量的不同方法

时间:2017-03-16 16:31:02

标签: python scope

有些实例可以在整个脚本中声明为可见变量(或者是全局变量),以避免必须将其作为参数传递,以及其他原因。在我的情况下,它通常是一个日志文件引用,以便它可以从脚本中的任何地方写入,而不是显式传递,但我相信还有许多其他用途。

我以不同的方式完成了这项工作:

#!/bin/python3

################################################
# script var declaration outside classes and functions
################################################

# method 1
global globalVarOne
# method 2
globalVarTwo = None

################################################
# class SomeClass
################################################

class SomeClass(object):

    #both globalVarOne and globalVarTwo 
    #are equally visible

################################################
# def someFunction
################################################

def someFunction(argOne, argTwo):

    #both globalVarOne and globalVarTwo 
    #are equally visible

################################################
# main
################################################

if __name__ == '__main__':

    #...

将这些变量声明为global与在静态调用的脚本块中将它们设置为None之间有什么区别?还有其他(更好的)方法来实现同样的目标吗?此外,脚本的那部分是否有一个pythonic名称,它不是main或任何类或函数的一部分?

0 个答案:

没有答案