python三元运算符

原创 2014年02月21日 16:13:50

:以前没在python中用过三元运算符,今天使用?:提示错误,故而google了一下

在c/c++等语言中,三元运算符一般为如下使用形式:

判定条件?为真时的结果:为假时的结果

r = 5 > 1 ? 1 : 0

但是,在python2.5以前版本,是没有三元运算符的,在2.5版本中加入了三元运算,但是并不是一个符号,而是

为真时的结果 if 判定条件 else 为假时的结果  
r = 1 if 5 > 1 else 0

在python 2.5以前,一般使用 and-or 来模拟三元运算符,如下:


判定条件 and 为真时的结果 or 为真时的结果
r = 5>1 and 1 or 0
但是当结果为字符串时会出现一个问题:


r = 5>1 and '' or 's'

返回将是‘s’


因为‘’的布尔求值结果为False,因此返回为‘s’


为避免这一状况,一般写为:

r = (5>1 and [''] or ['s'])[0]

参考:http://woodpecker.org.cn/diveintopython/power_of_introspection/and_or.html#d0e10128  例4.19

python 三目运算符

python中三目运算符会先判断if中的条件 再赋值,而不是赋值后用if条件再改 >>> def sb(): ... print(1) ... return 2 ... >>...
  • haseetxwd
  • haseetxwd
  • 2018年01月07日 11:28
  • 105

Python语言技巧之三元运算符

    现在大部分高级语言都支持“?”这个三元运算符(ternary operator),它对应的表达式如下:condition ? value if true : value if false。很奇...
  • xiaoyin992
  • xiaoyin992
  • 2008年12月29日 10:30
  • 12794

python 中的三元表达式(三目运算符)

python中的三目运算符不像其他语言 其他的一般都是 判定条件?为真时的结果:为假时的结果   如 result=5>3?1:0   这...
  • u010229420
  • u010229420
  • 2016年12月06日 11:19
  • 6874

python中的三元运算符

python中三元运算: x if y else z 即把条件放在中间。 >>> x=3 if a>=3 else 2 >>> x 2 >>> a 1 >>> a=5 >>> x=3 if a>=...
  • ppabcde
  • ppabcde
  • 2014年03月14日 12:21
  • 433

Python语法 之 结构与函数

综述:计算机的流程控制主要通过三种结构来控制的:顺序结构,选择结构,循环结构。下面讲述下python语言的这三种结构的语法模式。选择结构并列if语句所谓选择结构就是一个或多个条件判断,及其执行语句组成...
  • lanxueCC
  • lanxueCC
  • 2016年12月23日 17:24
  • 720

Python学习手册(第三版 中文高清版)

  • 2013年03月21日 21:31
  • 40.73MB
  • 下载

python 三元运算符

三元运算符 三元运算符通常在Python里被称为条件表达式,这些表达式基于真(true)/假(not)的条件判断,在Python 2.4以上才有了三元操作。 下面是一个伪代码和例子: 伪代码: ...
  • qq_35636311
  • qq_35636311
  • 2017年10月15日 22:38
  • 46

Python -- 三元表达式(三目运算符)

Python中三元表达式(三目运算符)的写法
  • wudj810818
  • wudj810818
  • 2016年01月14日 16:25
  • 10628

Python(4)-----The function operation of python

Python 第四部分 函数     目录 第15章 函数基础... 3 函数作用... 3 Def语句是实时执行的... 3 Python 中的多态... 4 第二个例子,寻找序...
  • u012796064
  • u012796064
  • 2013年12月01日 12:16
  • 757

Python学习笔记 4

python三元运算符 python zip python 变量类型判断 python函数 python字典 python实现简单的用户管理...
  • Lockey23
  • Lockey23
  • 2017年08月29日 21:04
  • 219
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:python三元运算符
举报原因:
原因补充:

(最多只允许输入30个字)