Python 使用函数之外的变量
我已经定义了一个函数,它将从用户输入中获取一个值。它是一个路径(基于appJar的.directoryBox)。我把目录框的代码放在一个函数中,这样当按下按钮时它就会显示出来。但是,我似乎无法在函数之外使用该值 代码的重要部分如下所示:Python 使用函数之外的变量,python,python-3.x,Python,Python 3.x,我已经定义了一个函数,它将从用户输入中获取一个值。它是一个路径(基于appJar的.directoryBox)。我把目录框的代码放在一个函数中,这样当按下按钮时它就会显示出来。但是,我似乎无法在函数之外使用该值 代码的重要部分如下所示: def dirfunction(button): dirr = app.directoryBox('box') app.setEntry('Directory', dirr) app.showButton('Search') re
def dirfunction(button):
dirr = app.directoryBox('box')
app.setEntry('Directory', dirr)
app.showButton('Search')
return dirr
def searchfunction(button):
if button == 'Search':
findBigfile.findBigFiles(dirr, mbSize)
mbSize = app.addLabelEntry('Size in MB')
app.addLabelEntry('Directory')
app.setLabelWidth('Size in MB', '10')
app.setLabelWidth('Directory', '10')
app.addButton('Choose Directory', dirfunction)
app.addButton('Search', searchfunction)
app.hideButton('Search')
app.go()
我尝试在dir函数之外使用'dirr'变量,但无法使其工作。它只在内部起作用
编辑:我也不能将app.directoryBox置于函数之外,因为这将导致在打开应用程序时直接出现弹出窗口 dirr是一个局部变量,它只能在定义的上下文中看到(在您的例子中,在函数dirfunction中,它不存在于它的外部) 为了能看到外面,你必须在外面申报
dirr = None
在此之后,从函数内部访问它,在Python2中,通过使用全局:
def method():
global dirr # you have to declare that you'll use global variable 'dirr'
dirr = "whatever"
现在:
print `dirr`
将打印:
whatever
dirr是一个局部变量,它只能在定义的上下文中看到(在您的例子中,在函数dirfunction中,它不存在于它之外) 为了能看到外面,你必须在外面申报
dirr = None
在此之后,从函数内部访问它,在Python2中,通过使用全局:
def method():
global dirr # you have to declare that you'll use global variable 'dirr'
dirr = "whatever"
现在:
print `dirr`
将打印:
whatever
因为
dirr
仅在函数内部局部存在,因为dirr
仅在函数内部局部存在,所以可能值得阅读以供将来参考…可能值得阅读以供将来参考。。。