我有这段python代码。我想要一个名为filetext的全局变量。但是,它不能按预期工作,我想在第一个方法中修改filetext变量,然后在第二个方法中使用它。
filetext = "x"
def method1():
filetext = "heyeeh"
def method2():
print(filetext)
这产生“x”。怎么来,我怎么能克服这个?
答案 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