python not用法_python中not、and和or的优先级与详细用法介绍

前言

(小白专用)本次所分享的是python中的not、and、or的执行时的优先级,以及他们的具体用法。本文比较详细,不喜勿喷。

一、not、and、or的含义以及优先级

对象

返回结果

优先顺序

not x

if x is false,then true,else false

1

x and y

if x is false,then x,else y

2

x or y

if x is false,then y,else x

3

含义:not是 “非” ;and是 “与” ;or是 “或” (可以用数学去理解)

1、not true = false 或者 not false = true (非真就是假,非假即真)

2、and是一假则假,两真为真,两假则假

3、or是一真即真,两假即假,两真则真

优先级是 not > and > or

代码如下(示例):

x=1 #将x赋值为1

y=0 #将y赋值为0

z=0 #将z赋值为0

print(x or y and not z)

'''

输出结果为

1

'''

小提示: 我们知道在编程语言中“非0即是true”,也就是“0为false,1为true”

由于优先级是not>and>or,所以首先执行not z(也就是not 0),

即 not 0 = not false =true =1

下一步是轮到了and,那么 y and 1(已知y=0)即 0 and 1,也就是

false and true (假与真),我们刚刚谈过and,一假即假,故

y and 1 = 0 and 1 = false = 0

最后一步按优先级是轮到了or,即 x or 0(已知x=1),

即 1 or 0 =true or flase =true = 1(or即“或”中,一真即真)

所以输出结果为 1

总结: 代码运算过程为: (用数学符号表示优先级)

{ x or [ y and (not z) ] }

二、not、and、or的使用方法

1.not

if x is false,then true,else false

如果x为false则not x 为true,否则为false

(如果x是假的,则“非假”为真,否则x是真的,则非真为假)

在编程中是 布尔运算,即返回值是true 或者 false

代码如下(示例):

print(not 0,not 1,not true,not false)

'''

输出结果为:

true false false true

'''

2.and

and运算后的返回结果:

从左到右计算表达式,若所有的都为真,则返回最后一个值,若存在假,返回第一个值。

简单理解:

and的目的是找到并返回第一个false(假)或最后一个true(真) (从左往右找)(一假即假,两真即真)

代码如下(示例):

1、找到并返回第一个false(假)

print(1 and 2 and 0 and 4 and false)

'''

输出结果为:

0

'''

因为and是找到第一个false(假),我们知道在计算机中,

false即为0,所以输出结果是 0

2、找到并返回最后一个true(真)

print(1 and 2 and true and 4 and 6)

print(2 and 5 and true and 7 and true)

'''

输出结果为:

6

true

'''

因为 1,2,true,4,6 都不是0,我们知道 非零true,所以都是 真的,那么输出最后一个真值,所以输出结果为 6

因为 2,5,true,7,true 都不是0,都是真的,同理输出最后一个真值,所以输出结果为 true

3.or

or运算后的返回结果:

从左到右计算表达式,只要遇到真值就返回那个真值,如果表达式结束依旧没有遇到真值,就返回最后一个假值。

简单理解:

or的目的是找到并返回第一个true(真)或最后一个false(假) (从左往右找)(一真即真,两假即假)

代码如下(示例):

1、找到并返回第一个true(真)

print(0 or 0 or '' or 8 or 1 )

'''

输出结果为:

8

'''

小提示:

在python中, [ ] 或者 ' ' 或者 ( ) 或者 none 都是空的意思,

空也为假,即 空 = 假 = false

由上面的代码可以看到,有两个真值分别是 8和1,但我们要找到作用范围内的第一个真值(true),即第一个为8,所

以输出结果为 8

2、找到并返回最后一个false(假)

print([] or 0 or '' or none or () )

'''

输出结果为:

()

'''

小提示:

在python中, [ ] 或者 ' ' 或者 ( ) 或者 none 都是空的意思,

空也为假,即 空 = 假 = false

此处可以知道,代码中都为假(false),所以要找到最后一个假(false)并返回这个值。最后一个是()所以输出结果为 ()

总结

优先级是 not > and > or

not:如果x是假的,则“非假”为真,否则x是真的,则非真为假

and: 找到并返回第一个false(假)或最后一个true(真)

or: 找到并返回第一个true(真)或最后一个false(假)

到此这篇关于python中not、and和or的优先级与详细用法介绍的文章就介绍到这了,更多相关python中not、and和or优先级与用法内容请搜索萬仟网以前的文章或继续浏览下面的相关文章希望大家以后多多支持萬仟网!

希望与广大网友互动??

点此进行留言吧!

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值