python 有没有问号冒号表达式

发布网友

我来回答

2个回答

懂视网

python中的and和or和其它语言的区别很大
其它语言中的and和or都是返回bool类型的结果,python不是。它返回的是做and和or运算的其中一个值。
那个值决定了这个表达式的值,就返回那个值。

代码如下:


>> 5 and '

这里结果是', 空字符串, 因为是它导致了这个表达式为false.
也就是所在and中,只有前面一个值是false的时候,才有可能成为结果。否则就是后面的值为结果。

了解了and和or运行的过程,那么就可以实现?表达式了:
代码如下:


if (expression):
return truevalue
else:
return falsevalue

和这个等价的写法是(类似?号表达式):
代码如下:


expression and truevalue or falsevalue
#或者
(expression and (truevalue,) or (falsevalue,))[0] #感谢snake117提供的建议

#这种是避免truevalue有可能是false的情况,比如空字符串

热心网友

函数,循环,if条件,类定义等后面有block,block要缩进,因此这些语句后面要加上冒号,这是python的语法 python的冒号和java、c中的{}是一样的 block是一组语句

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com