Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.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_Python 3.x - Fatal编程技术网

Python函数问题

Python函数问题,python,python-3.x,Python,Python 3.x,您好,我是一名学习Python的初学者,我在一本书中偶然发现了这个示例,出于某种原因,当我自己尝试相同的代码时,我没有收到相同的输出?请帮忙 def tester(start): state = start def nested(label): nonlocal state print(label, state) state += 1 return nested >>> F = tester(0) >

您好,我是一名学习Python的初学者,我在一本书中偶然发现了这个示例,出于某种原因,当我自己尝试相同的代码时,我没有收到相同的输出?请帮忙

def tester(start):
    state = start
    def nested(label):
        nonlocal state
        print(label, state)
        state += 1
    return nested

>>> F = tester(0)
>>> F('spam')
spam 0
>>> F('ham')
ham 1
>>> F('eggs')
eggs 2

每次运行函数时,我的结果都不会增加+1,这本书有什么问题吗?

。您确定使用的是python 3吗<代码>非本地是Python3的一项功能,在Python2.x中不起作用。

。您确定使用的是python 3吗<代码>非本地是Python3的一个特性,在Python2.x中不起作用。

总结了它。基本上,python从2.~到3.0>=发生了很大变化,最终出现了类似这样的问题。将书开头的内容与他们正在使用的版本进行比较,并与您自己的版本进行比较。

总结。基本上,python从2.~到3.0>=发生了很大变化,最终出现了类似这样的问题。将本书开头的内容与他们正在使用的版本进行比较,并与您自己的版本进行比较。

您得到了什么输出?您确定没有在Python2.x上运行它吗?@Keith它在Python2.x中根本不起作用(在
非本地状态下抛出错误
)。不管怎么说,我在terminal中试过了,它对我来说很好。你得到了什么输出?你确定你没有在Python 2.x中运行它吗?@Keith它在Python 2.x中根本不起作用(在
非局部状态下抛出错误
)。不管怎样,我在终端上试过了,它对我来说很好。你怎么知道你是否在使用python 3?我只是通过键入“python”在终端中以交互方式运行python?或者您需要为python 3以不同的方式运行它吗?我确实安装了python 3.2。@user1265535:打开python终端时,第一行列出了win32上的python 2.7.3(默认,2012年4月10日,23:31:26)[MSC v.1500 32位(英特尔)]的版本。是的,我的坏了,现在在终端中工作,这很奇怪,谢谢:)您如何知道您是否正在使用python 3?我只是通过键入“python”在终端中以交互方式运行python?或者您需要为python 3以不同的方式运行它吗?我确实安装了python 3.2。@user1265535:打开python终端时,第一行列出了win32上的python 2.7.3(默认值,2012年4月10日,23:31:26)[MSC v.1500 32位(英特尔)]的版本。好吧,我的坏了,它现在在终端中工作,这很奇怪,谢谢:)