在Python中三目运算符也叫三元运算符,其主要作用:就是用于 简化if...else...语句。
基本语法:
原
if 条件判断:
# 语句段1
else:
# 语句段2
新-----三目运算符/三元运算符
语句段1 if 条件判断 else 语句段2
案例
输入两个数值,返回最大值
原
num1 = 10 num2 = 20 if num1 > num2: print(f'最大值为{num1}') else: print(f'最大值为{num2}')
新-----三目运算符/三元运算符
num1 = 10
num2 = 20
max = num1 if num1 > num2 else num2
print(f'最大值为{max}')
图示
人话:
首先看我们想要的结果:就是谁大。 现在是有两个值 num1 num2
我想要的也是两个值中最大的结果,那我就通过右边的判断,得到一个最大值,通过 = 赋值给左边的一个变量max,这样一行就搞定,但是如何实现?用Python中的三目运算符。
整体思路理清,继续细化,先看= 右边,
如果if num1 > num2 这个判断语句,是真的,那么就可以直接输出这个最大的数num1 ,不用看后面的else,这个时候,需要保存起来这个最大的数,那就在前面写个 num1,类似一个小的变量,然后把num1赋值给左边的max。
如果if num1 > num2 这个判断语句,是假的,那么就看后边的else,返回另外的内容,这个内容需要保存起来,那就在后面写个 num2,类似一个小的变量,然后把num2赋值给左边的max。
已经得出了max,那print输出就可以了。
一句话概括:三目运算符:一个变量名 = 可能取的A值 if 判断语句 else 可能取的B值。 if 判断真,就返回A , 判断为假,就返回else设置的 B ,把最终的返回数值A 或者 B 赋值给变量名。
思考:如果是三个数呢?四个数?更多的数?怎么写?
其他无聊的写法: