使用函数外的变量

2024-09-24 10:28:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我定义了一个函数,它将从用户输入中获取值。它是一个路径(基于appJar的.directoryBox)。我已经把目录框的代码弹出到一个函数内,这样它将显示当一个按钮被按下。但是,我似乎不能在函数之外使用值。在

代码的重要部分如下所示:

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()

我试图在dirfunction之外使用'dirr'变量,但我无法使其工作。它只在内部工作。在

编辑:我也不能应用程序目录框在函数之外,因为这将导致当应用程序打开时直接弹出。在


Tags: 函数代码目录appsearchsizedefbutton
1条回答
网友
1楼 · 发布于 2024-09-24 10:28:41

dirr是一个局部变量,它只能在定义的上下文中看到(在您的例子中,在函数dirfunction中,它不存在于它之外)。在

为了能看到外面,你必须在外面声明。在

dirr = None

在这之后,从函数内部访问它,在python 2中,通过使用global:

^{pr2}$

现在:

print `dirr` 

将打印:

whatever

相关问题 更多 >