""" 奇怪的Python代码,谁能帮我解释一下?? """ x = 0 y = 0 def fun(): # 定义fun函数 x = 1 y = 1 class Test: # 定义Test类 global x,y print(x,y) x = 10 fun() # 调用fun函数 """
这个程序定义了两个全局变量,分别叫做x和y。
在名为fun的函数中,定义了同名的叫x,y的局部变量。
在fun函数里面的Test类。它会打印x,y的值,并且改变x的值。
在这个print语句中,打印的是全局变量的x和y的值还是局部变量的x,y的值呢?
如果打印的是全局变量的值,那么输出都为0。
如果打印的是fun内的局部变量的值,那么输出都应该为1。
如果在print语句前明确的申明x,y为global,那么肯定输出0,0。代码就像下面这样:
如果明确的申明x,y为nonlocal,那么肯定输出1,1。
代码就像下面这样:
可是本程序没有明确,结果也出乎意料,输出的都不是以上所设想的值。
“””
本站所有作品,教程等皆为原创,版权所有。只供个人及单位内部研究使用,对外展示或传播必需经本站同意,且注明来自本站。培训机构等用本站资源培训学生,需经本站授权。一旦付款,表示同意本站知识付费原则:数字商品,不支持退款。亦可直接向微信号scratch8付款购买。入住QQ群:225792826 和爱好者共同交流,并且能下载免费提供的Python资源(需提供真实姓名才可入群)
李兴球的博客_Python创意编程技术前沿_pygame » 奇怪的Python代码,谁能帮我解释一下??
李兴球的博客_Python创意编程技术前沿_pygame » 奇怪的Python代码,谁能帮我解释一下??