三元表达式实际上可以理解为条件判断的简化形式,Python中的三元表达式的写法和大部分的语言是不同的。其他语言中往往如下:
result=condition?x:y(condition为真,则返回这为x,否则为y。)
在python中如下:
result=x if condition else y(condition为真,则返回这为x,否则为y。)
此外,python中可以使用or语句来赋值,自左向右计算整个布尔表达式,如果有为真的值,那么立刻返回第一个为真的值,如果整个表达式为假,则返回最后一个为假的值,如下:
result=值1 or 值2 or 值3
此外,and语句在python中也OK,and自左向右扫描布尔表达式,如果所有值为真,则返回最后一个为真的表达式,如果为假,则返回第一个为假的表达式。
result=值1 and 值2 and 值3
a = 1
b = 2
h = a-b if a>b else a+b
print('h为',h)
m = 0 or None or 2
print('m为',m)
n = 0 or None or []
print('n为',n)
p = 2 and 1 and 3
print('p为',p)
q = 1 and 3 and 0 and None
print('q为',q)
D:installpython3python.exe D:/pyscript/python3_script/test66.py
h为 3
m为 2
n为 []
p为 3
q为 0
Process finished with exit code 0