Python变量范围方法

时间:2016-11-02 20:14:20

标签: python

我有这段python代码。我想要一个名为filetext的全局变量。但是,它不能按预期工作,我想在第一个方法中修改filetext变量,然后在第二个方法中使用它。

filetext = "x"

def method1():

    filetext = "heyeeh"

def method2():
    print(filetext)

这产生“x”。怎么来,我怎么能克服这个?

1 个答案:

答案 0 :(得分:0)

你需要在这里使用global,否则python会创建一个新的变量副本,其范围仅限于method1()这个函数。因此,您的代码应为:

filetext = "x"

def method1():
    global filetext  # added global here
    filetext = "heyeeh"

def method2():
    print filetext

示例运行:

>>> method2()   # print original string
x
>>> method1()   # Updates the value of global string
>>> method2()   # print the updated value of string
heyeeh