Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python,将变量声明为来自封闭块_Python - Fatal编程技术网

Python,将变量声明为来自封闭块

Python,将变量声明为来自封闭块,python,Python,Python的习语是什么 def F(): waitfor = 5 def f2(x): global2you waitfor # <<<<<<< SOMETHING FROM ENCLOSING_BLOCKS waitfor += 1 return waitfor print "waitfor, before", waitfor, "and after", f2("ABCD") F

Python的习语是什么

def F():
    waitfor = 5
    def f2(x):
        global2you waitfor # <<<<<<< SOMETHING FROM ENCLOSING_BLOCKS
        waitfor += 1
        return waitfor
    print "waitfor, before", waitfor, "and after", f2("ABCD")
F()
def():
等待=5
def f2(x):

global2waitfor#在Python3中,可以使用关键字,这很好地解决了这个问题

然而,在Python 2中,您必须求助于“穷人的引用”,将
waitfor
转换为一个元素列表:

def F():
    waitfor = [5]
    def f2(x):
        waitfor[0] += 1
        return waitfor[0]
    print "waitfor, before", waitfor[0], "and after", f2("ABCD")

在Python3中,您可以使用关键字,它干净地解决了这个问题

然而,在Python 2中,您必须求助于“穷人的引用”,将
waitfor
转换为一个元素列表:

def F():
    waitfor = [5]
    def f2(x):
        waitfor[0] += 1
        return waitfor[0]
    print "waitfor, before", waitfor[0], "and after", f2("ABCD")

在Python3中,您可以使用关键字,它干净地解决了这个问题

然而,在Python 2中,您必须求助于“穷人的引用”,将
waitfor
转换为一个元素列表:

def F():
    waitfor = [5]
    def f2(x):
        waitfor[0] += 1
        return waitfor[0]
    print "waitfor, before", waitfor[0], "and after", f2("ABCD")

在Python3中,您可以使用关键字,它干净地解决了这个问题

然而,在Python 2中,您必须求助于“穷人的引用”,将
waitfor
转换为一个元素列表:

def F():
    waitfor = [5]
    def f2(x):
        waitfor[0] += 1
        return waitfor[0]
    print "waitfor, before", waitfor[0], "and after", f2("ABCD")

观察:如果您返回
waitfor
的值,您真的需要更新
F
中定义的变量吗?@chepner这只是为了说明我的问题观察:如果您返回
waitfor
的值,您真的需要更新
F
中定义的变量吗?@chepner这只是为了说明我的观察结果:如果您返回
waitfor
的值,你真的需要更新
F
中定义的变量吗?@chepner这只是为了说明我的问题一个观察:如果你返回
waitfor
的值,你真的需要更新
F
中定义的变量吗?@chepner这只是为了说明我的问题