以下是无效语法,因为 elif
需要紧跟在 if
block 之后:
def get_number(self, bsObj):
temp = self.get_data('text1', bsObj)
if temp > -1:
return temp
temp = self.get_info('text', bsObj)
elif temp > -1:
return temp
else:
return 0
如果 self.get_data('text1', bsObj)
小于 - 我只想返回 self.get_info('text', bsObj)
的结果 - 1.
我可以通过这样做来修复它,但是调用同一个函数两次似乎非常无效:
def get_number(self, bsObj):
if self.get_data('text1', bsObj) > -1:
return self.get_data('text1', bsObj)
elif self.get_info('text', bsObj) > -1:
return self.get_data('text', bsObj)
else:
return 0
最佳答案
您可以使用第二个if
:
def get_number(self, bsObj):
temp = self.get_data('text1', bsObj)
if temp > -1:
return temp
temp = self.get_info('text', bsObj)
<b>if</b> temp > -1:
return temp
else:
return 0
由于第一个 if
包含一个 return 语句,如果满足约束,解释器将永远不会到达您的 elif
行。
关于if 和 elif 之间的 Python 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45108749/