Python 随笔:与and、或or、非not逻辑运算

Python 随笔:与and、或or、非not逻辑运算巧用

1. 基础知识

python中的逻辑运算符:

  • and (与)
  • or (或)
  • not (非)

优先级为是not > and > or

:这和 C 语言的语法一样,只是 C 语言用的是符号 &&(与)、||(或)、!(非)。只是Python把它语言化而已。

2. 基础使用

逻辑运算符最常见的是和python中的关系运算符(>、<、>=、<=、==、!=)搭配使用。

比如把 a 限定在 3 - 8 的范围(不包括边界)。

可以使用 a>3 && a<8

返回的结果是一个布尔值:True 或 False

:在 Python 中,在条件判断时,只要值不是 0 、None等空值,都认为是True,即逻辑真。

如:

a = None
b = 0
c = 'c'
d = -1
if a:#相当于if False
if b:#相当于if False
if c:#相当于if True
if d:#相当于if True

3.进阶使用:短路运算符

and 和or 也称作短路运算符

短路运算符属性(由于以下结果不一定直接返回True 或False所以我使用逻辑真,逻辑假这两个术语)

A and B:当 A 为逻辑假时,and没有进行判断 B 的值了,直接返回 A 的值。这就相当于短路了,所以叫短路运算符。(注意,不是一律返回True,如果A 为 0,就返回 0 ,为True时才返回True)但当 A 为逻辑真时,无论 B 为何值,都返回 B 的值。

A or B:和 and 运算相反,当 A 为逻辑真时,or 没有进行判断 B 的值了,直接返回 A 的值。这就相当于短路了,所以叫短路运算符。

例子代码:

b = 2
a = None and b-1  #结果 a = None ,b = 2
a = 1 and b-1  #结果 a = 1,b = 1


a = None or b-1  #结果 a = 1 ,b = 1
a = 1 or b-1  #结果 a = 1,b = 2

利用and和or短路特性,我们可以在一些情况很方便地为变量设定一个默认值。

例如:

A = {'a':1,'b':2}
B = A and A['b'] or 3  #这样无论A中是否有'b'键,B都有一个值,有时就为'b'键的值,没有就为默认值 3.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值