是否可以在 Python 中构造一个单行 RETURN 语句,其主要 IF 条件是 "gateway" 用于检查其他条件?

Is it possible in Python to construct a one-liner RETURN statement with a main IF condition that is a "gateway" for other conditions to check?

我将尝试通过示例代码使其更清晰:

def is_opposite(string_1, string_2):
    if string_1.lower() == string_2.lower():
        if len(string_1) == # some value:
            return # do smth
        elif len(string_2) == # some value:
            return # do smth
    return # do smth

False 时,有一个主要 if string_1.lower() == string_2.lower(): 条件阻止嵌套代码块 运行。那么该代码如何写在 return ... 行中呢?如果可以。

谢谢。

如果只是为了实现,可以调戏一下三元x if y else z运算符:

return 1 if string_1.lower() != string_2.lower() else 2 if len(string_1) == 3 else 3 if len(string_2) == 4 else None

但是在任何严肃的生产环境中,你的同事都不会很喜欢你;)