来自模块的示例代码:
somevar = "a"
def myfunc(somevar = None):
# need to access both somevars ???
# ... if somevar was specified print it or use the global value
pass
if __name__ == '__main__':
somevar = "b" # this is just for fun here
myfunc("c")
myfunc() # should print "a" (the value of global variable)
使用同名至少有两个原因:教育(学习如何使用本地/全局)和模块中的使用。
假设此代码是您模块的一部分:mymodule
并且您想要执行以下操作:
import mymodule
mymodule.samevar = "default"
...
mymodule.myfunc(somevar = "a")
...
mymodule.myfunc()
正如您可以想象的那样,这个例子被简化了,想象somevar
参数是许多可选参数之一,并且 myfunc 在许多地方被调用。