我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

本文描述python编程语言中的三目运算的写法,在其它的高级编程语言中,三目运算都是这么写的:"条件?分支1:分支2",然而python编程语言中,确并不是这么写的。它的写法是"分支1 if 条件 else 分支2",是不是很奇怪?

苏南大叔:python教程,如何编写三目运算 / 条件运算 / 三元运算? - python三元运算
python教程,如何编写三目运算 / 条件运算 / 三元运算?(图1-1)

苏南大叔的程序如此灵动博客,记录苏南大叔的代码编程经验文章。测试环境:win10python@3.11.0

传统三目运算

通常情况下都是这么写代码:

if (判断条件) {
  为真时的分支1
}
else{
  为假时的分支2
}

为了简化写法,这里出现了三目条件运算。在常见的编程语言中(比如c语言、php、nodejs等)中,写法都是:

判断条件?为真时的分支1:为假时的分支2
var = condition ? a : b

python三目运算

python就是喜欢不走寻常路,它的三目运算就是节省了回车换行!真心差评!
【重点】没问号没问号,就是个写在一行的if else

# <为真时的分支1> if <为真的时候的判断条件> else <为假时的分支2>
var = a if condition else b
# 如果`condition`为真,那么变量就等于左边,否则等于右边

这个代码的理解上,应该从中间开始念。为真则左,为假则右。

实际例子

这里拿上一篇文章里面的分母不为0的运算为例,正常情况下,求解模型的(阳性)精准度算法:

p = tp / (tp + fp)

但是要考虑 tpfp可能都为零的情况,所以,正确的表达是:

p = (tp / (tp + fp)) if (tp+fp)>0 else 0

参考文章:

结束语

python就是要搞特立独行啊,更多苏南大叔的python经验文章:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   python