【发布时间】:2017-12-19 21:30:28
【问题描述】:
以下是无效语法,因为 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_data('text1', bsObj) 小于-1,我只想返回self.get_info('text', 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
【问题讨论】:
-
功能的重点就是这样
-
感谢下面回答的所有人。我现在知道我错过了关于 return 语句所做的一些非常重要的事情。我错误地认为如果两个 if 语句都为 True,则第一个 return 语句将被第二个替换。我现在感觉很笨,但我也很高兴我现在学到了这个非常重要的一点。它现在真的会让我的编码变得更简单。所以谢谢大家。
标签: python python-3.x if-statement