python|python if-else 各种写法以及and 和or的用法

if else 各种写法 网上有各种写代码的秀操作,如何让一行代码实现多种功能,因此我找到了python的装逼之路(被打 皮~)

  1. if else 正常用法:
a = input("input a number") b = input("input a number") c = 0 if a > b: c = a else: c = b

  1. 开始有点不正常了
c = a if a > b else b

【python|python if-else 各种写法以及and 和or的用法】将为真的结果放在if 前面 ,else后为不为真的结果
3. 连if - else 也没有了
c = [b, a][a > b]

这个前面建立了一个列表[b, a] 后面利用a > b判断来建立0 ,1索引,得到前面的值,有点秀!
4. 最强,利用逻辑判断,有我们计算机逻辑的风范
c = (a > b and [a] or [b])[0]

如果 a> b true 返回 [a] (true) ,[a] or [b] 返回[a] (这里有一个问题,我做了个实验,当a = 0时,实际上[a] python 认定是true ,这就是为什么不能去掉a 和b 左右两边的方框的原因)
这里利用了and和or的用法,我们看下面
and和or的用法
python里的运算符基本是从右向左的,且非0 为真,0 为假
# and print(1 and 2) # 输出 2 前真返后 print(0 and 2) # 输出 0 前假返前# or print(1 or 2) # 只有前真才会返回前 其余情况全部返回后

    推荐阅读