我想知道下面的代码片段中是否有更简洁的代码。
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/