Geo*_*lva 0 python short-circuiting
我有以下代码:
def testGeodatabase(self):
geodatabaseList = self.gp.ListWorkspaces("*","ALL")
for x in geodatabaseList:
if x == self.outputGeodatabase:
return True
else:
pass
return False
Run Code Online (Sandbox Code Playgroud)
我需要知道以下内容:如果if条件的计算结果为true,函数是否会停止在列表中查找并且永远不会返回False?或者我需要休息声明吗?
def testGeodatabase(self):
geodatabaseList = self.gp.ListWorkspaces("*","ALL")
for x in geodatabaseList:
if x == self.outputGeodatabase:
return True
break
else:
pass
return False
Run Code Online (Sandbox Code Playgroud)
如果以下代码无法解决我的问题,我可以使用什么来模拟该行为?
谢谢
return是该行的结束,之后该函数不会发生任何其他事情.另一方面,您可以将您的功能重写为
def testGeodatabase(self):
return self.outputGeodatabase in self.gp.ListWorkspaces("*","ALL")
Run Code Online (Sandbox Code Playgroud)