为什么要考虑全局变量"禁忌"句法?

时间:2014-09-11 09:34:19

标签: python variables

以下是我编写的脚本的摘录:

succ_count = 0

def run_copy():
    shutil.copy(file, 'W://20' + year + '/' + foldername + '/')
    global succ_count
    succ_count += 1

我的一位同事说这里使用全局变量是不好的。

我可以看到它是多么不方便,因为在我将它递增一之前我必须使用global succ_count

但是为什么全局变量的使用被认为是错误的编程呢?

道歉,如果这是一个非常明显的问题,我对Python相对较新,并试图尽可能地理解事物。

1 个答案:

答案 0 :(得分:1)

几乎每种编程语言都认为全局变量很糟糕。您可以查看:Why Global Variables Should Be Avoided When Unnecessary

另外,添加使用全局变量的最大问题是每个函数都可以访问这些变量,并且有时很难确定哪些函数实际读取和写入这些变量。