if 和 elif 之间的 Python 变量

标签 python python-3.x if-statement

以下是无效语法,因为 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/

相关文章:

python - 在 OS X Snow Leopard 上安装 QT、PyQT 和 PySide 的步骤

python-3.x - Python Bokeh 文件输入小部件

Python:如何计算三核苷酸的频率

c++ - 在单个 IF 语句中测试多个 boolean 值

python - 子类 multiprocessing.Process 但不调用 multiprocessing.Process 的 __init__ 方法

python - DiD 或 UNIX 套接字的安全替代方案?

python - 如何使用请求指定表单字段和文件类型

if-statement - 没有 `else` 的 Julia 三元运算符

mysql - 我如何将这些查询放入一个查询中?

python - python中动态添加的函数可以访问所有者对象吗?