我从阅读文档中了解到,Python有一个单独的函数命名空间,如果我想在该函数中使用全局变量,我需要使用global.
我正在使用Python 2.7,我尝试了这个小测试
>>> sub = ['0', '0', '0', '0']
>>> def getJoin():
... return '.'.join(sub)
...
>>> getJoin()
'0.0.0.0'
Run Code Online (Sandbox Code Playgroud)
即使没有,事情似乎也很好global.我能够毫无问题地访问全局变量.
我错过了什么吗?另外,以下是来自Python文档:
全局语句中列出的名称不能定义为形式参数,也不能定义为for循环控制目标,类定义,函数定义或import语句.
虽然形式参数和类定义对我有意义,但我无法理解for循环控制目标和函数定义的限制.
我这样做是这样的:
if ycoords[0] > 0 and ycoords[1] > 0 and ycoords[2] > 0:
# do stuff
Run Code Online (Sandbox Code Playgroud)
您可以通过执行以下操作来缩短此代码吗?
if (ycoords[0] and ycoords[1] and ycoords[2]) > 0:
# do stuff
Run Code Online (Sandbox Code Playgroud)