python中return 语句与 分支语句连用问题

在如下代码中
return ' '.join(s.split()[::-1]) if s.strip() != "" else s
为什么if s.strip() != "" else s写在return之后,照样可以判断
这条Python语句工作过程是怎么样的,尤其是return语句与分支语句的关系

阅读 4.9k
2 个回答

其实就是其他语言的三目运算符

if s.strip() !== "":
    return ' '.join(s.split()[::-1])
else:
    return s

return后面是一个整体,上面的大佬说的很清楚了,就三目运算符

' '.join(s.split()[::-1]) if s.strip() != "" else s
# 简化版
A if X else B

如果X为True,则这个整体值为A,否则为B

三目运算符在其他语言中是这么写的

X ? A : B;
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题