有些实例可以在整个脚本中声明为可见变量(或者是全局变量),以避免必须将其作为参数传递,以及其他原因。在我的情况下,它通常是一个日志文件引用,以便它可以从脚本中的任何地方写入,而不是显式传递,但我相信还有许多其他用途。
我以不同的方式完成了这项工作:
#!/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或任何类或函数的一部分?