Python,带有函数调用的 if else 语句的简洁代码?

标签 python

我想知道下面的代码片段中是否有更简洁的代码。

def fun(x):
    return x + 2
a = 3
x = fun(a)
m = x if x == 3 else 4

print(m)

这行得通吗?

def fun(x):
    return x + 2

m = (x = fun(3)) if x == 3 else 4

print(m)

最佳答案

如果您决定将其设为单行代码,并且由于某种原因只能调用 fun 一次,则可以使用 lambda 函数:

m = (lambda x: x if x == 3 else 4)(fun(a))

您会发现这不是很可读,我不会推荐它。

您的试用代码将无法工作,因为您无法在表达式中进行赋值。

关于Python,带有函数调用的 if else 语句的简洁代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46312153/

相关文章:

Python pandas - 如果项目在列表中,则为新列的值

python - 我如何从 Maven 运行 python 代码,其中 python 可能在也可能不在路径中

python - 如何使用 boto 以编程方式获取 Amazon S3 文件的 MD5 校验和

python - Pandas - 根据条件更改数据框中单元格的值

python - python3 上的打印语句不再登录 Google Cloud Platform

python - PyQt 在 for 循环内部连接与单独调用会导致不同的行为

python - 如何在 python 中获取从电子邮件接收/发送的日期

python - Python 中类似 C 的结构

python - Chromedriver 测试后关闭

python - sqlalchemy - 反射(reflect)带空格的表和列