以下语法无效,因为elif
需要紧跟在if
块之后:
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_info('text', bsObj)
小于-1,我只想返回self.get_data('text1', bsObj)
的结果。我可以这样做来解决这个问题,但两次调用同一个函数似乎非常无效:
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)
if temp > -1:
return temp
else:
return 0
由于第一个
if
包含一个return语句,如果满足约束,解释器将永远无法到达您的elif
行。