Python—三目运算

Python 可通过 if 语句来实现三目运算的功能,因此可以近似地把这种 if 语句当成三目运算符。作为三目运算符的 if 语句的语法格式如下:
(True_statements) if (expression) else (False_statements)
三目运算的规则是:先对逻辑表达式 expression 求值,如果逻辑表达式返回 True,则执行并返回 True_statements 的值;如果逻辑表达式返回 False,则执行并返回 False_statements 的值。



举个栗子:

>>> isinput = True if input('input: ') else False
input: 996ICU
>>> isinput
True
>>> isinput = True if input('input: ') else False
input:
>>> isinput
False

三目运算简化写法:
变量 = 值1 or 值2类似于变量 = 值1 if 值1 else 值2
?
再来个栗子:

>>> content = input('input: ') or 'nothing'
input: 996ICU
>>> content
'996ICU'
>>> content = input('input: ') or 'nothing'
input:
>>> content
'nothing'

?



应用在print函数:

a = 996
b = 666
str_ = '996' if a < b else '666'
print(str_)
print('996' if True else 'icu')
print('996') if False else print('icu')
666
996
icu

?



Python允许在三目运算符的 True_statements 或 False_statements 中放置多条语句。
Python 主要支持以下两种放置方式:
1.多条语句以英文逗号隔开:每条语句都会执行,程序返回多条语句的返回值组成的元组。

>>> str_ = print('996'), 'True' if 5 > 0 else 'False', 'icu'
996
>>> str_
(None, 'True', 'icu')

2.多条语句以英文分号隔开:每条语句都会执行,程序只返回第一条语句的返回值。

>>> str_ = 'icu'; st = 'True' if 5 > 10 else print('ICU')
ICU
>>> str_
'icu'
>>> print(st)
None

?



嵌套三目运算

print('aaa') if True else (print('bbb') if False else print('ccc'))
print('aaa') if False else (print('bbb') if False else print('ccc'))
aaa
ccc

原文地址:https://www.cnblogs.com/malinqing/p/11285978.html

时间: 2024-10-09 10:25:57

Python—三目运算的相关文章

【Python全栈笔记】03 [模块二] 16-17 Oct Set 集合,三目运算

Set 集合 set - unordered collections of unique elements 创建一个set/一个空set # create a new set set1 = {1,2,3} print(type(set1)) # result => <class 'set> set2 = set() print(type(set2)) # create an empty set, result => <class 'set'> # as the obje

python中实现三目运算

python中没有其他语言中的三元表达式,不过有类似的实现方法 如: a = 1 b =2 k = 3 if a>b else 4 上面的代码就是python中实现三目运算的一个小demo, 如果a>b, k等于3,否则k等于4 理论上使用if elif else 也可以实现,但是使用三目运算可以大大简化代码,提高开发效率 原文地址:https://www.cnblogs.com/lowmanisbusy/p/9216851.html

python自动化测试之函数(匿名函数lambda和三目运算等(高级用法))

''' 匿名函数: lambda ''' def Add(a,b): print(a+b) Add(2,3) per = lambda a,b:a+b print(per(2,3)) ''' 三目运算 ''' a = 20 print("True") if a >10 else print("False") ''' 匿名函数+三目运算 ''' login = lambda username,password:print('登录成功') if username

三目运算的使用&amp;bytes类型转str类型

一.三目运算的使用 就像c语言中有三目运算符一样,python中也有三目运算符,废话不多说直接上代码 1 a=3 2 c=4 3 b=a if a>c else c 4 print(b) 意思就和 1 if a>c: 2 b=a 3 else: 4 b=c 是一样的. 二.bytes类型转str类型 在python中视频和音频的传递是二进制的,所以就需要用到str类型和bytes类型之间的转换. 不像在Python2中的两种类型傻傻分不清楚,在python3中两种类型各自独立没有关联,并不能自

Java三目运算

Java的三目运算符: (表达式A)?(表达式B):(表达式C) 原理为:如果表达式A的结果为true,那么这句的运行结果为表达式B:如果为false,那么结果为表达式C 例如:(1>0)?(a=5):(a=6) 那么这句话的运行结果为a=6 开发中经常会遇到这样的问题,利用起三目运算来挺不错的.如果不用的话也可以实现 if(1>0){ a=5; } else{ a=6; } 当然还是三目简单.... 版权声明:本文为博主原创文章,未经博主允许不得转载.

三目运算的优先级(?表达式)

今天写一个iOS的插件,高度总是出问题,检查语句感觉没有什么问题. ? 1 CGFloat height = [Adaptation4iOS iPhoneScreenContent].height- [SystemUtils isIos7]?20:0- _realSearchBar.frame.size.height; 但是返回的高度总不是计算所需要的高度举个明确的例子 ? 1 2 3 4 5 6 7 BOOL isThree = YES;  CGFloat height = 100 - isT

三目运算:and/or 技巧

三目运算:and/or 技巧 and, or 联合起来有个小技巧: print 2 < 3 and True or False 说明:     如果  2 小于 3 了,则输出 True ,  否则输出 False 代码示例: In [1]: var = 2 < 3 and True or False In [2]: print var In [3]: print 3 != 3 and 'OK' or 'Failure' 说明 and 前是判定条件,or 前后分别是判定正确和错误的返回值. 注

三目运算

三元运算(三目运算),是对简单的条件语句的缩写. #书写格式: result = 值1 if 条件 else 值2 #如果条件成立,那将值1赋值给result变量,否则,将值2赋值给result变量 示例: name = "alex" if 1 == 1 else "eric" print(name) #打印结果:alex name = "alex" if 1 == 0 else "eric" print(name) #打印结

js switch判断 三目运算 while 及 属性操作

三 目运算:如var a = 10: var b= 12: c = a>b ?a:b; 若成立执行a否则执行b var isHide = true; 若用if判断语句如下 if(isHide) { box.style.display = "block"; } else { box.style.display = "none"; } 三目运算替代if box.style.display = isHide?"block":"none&