# global variable
i_am_global = {}
def get_global():
global i_am_global # declare 1
if i_am_global is not None:
return i_am_global
global i_am_global # declare 2
i_am_global = do_something()
return i_am_global
def main():
get_global()
if __name__ == "__main__":
main()
在这种情况下我们在哪里需要把全球
?在#声明1或在#声明2?为什么?
这是因为我听说(所以我问这个问题)全局导致内存开销。请纠正我的理解
谢谢
“*全局导致内存开销*” - 您听错了。 Python中的'global'语句不会导致内存开销。 – 2012-02-28 18:16:43
当你尝试了两个地方时,你观察到了什么?当你在没有'全球'声明的情况下尝试它时,你观察到了什么? – 2012-02-28 18:18:02
需要在#2而不是在#1。看看这个问题:http://stackoverflow.com/questions/9366212/correct-use-of-global-variables-in-python-3 – 2012-02-28 18:18:17