新大榭论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

《新大榭》- 创大榭地方网络社区先锋品牌 新大榭始终专注于地方网络社区平台的建设 关于我们- [大记事]- 留言建议- [新手报道]

新大榭软件管家 V5.8 Excel版 微信版 发布 财务/仓库/生产/销售/采购/行政/人事/校园 客服中心 - 办公软件 - 网站设计 - 广告招商

新大榭镜像 - 官方Web实验室 - 加入收藏 - 设为首页 广告是为了更好的发展 欢迎我区企业及商家赞助本站 首页文字黄金广告位(赞助)公益广告免费发布

查看: 316|回复: 0

[笔记] 7779 - python中not、and、or的优先级

[复制链接]
发表于 2021-9-24 08:34:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转新大榭论坛!

您需要 登录 才可以下载或查看,没有账号?注册

x
为什么 0 and 1 返回的是0?为什么 3 and 4却返回的是4?
+ `' Q# B! H0 M/ f" L
% ]/ q( i; {. I/ f; X5 ^天呐?这到底是为什么???不知道初学的小白是否也有着跟我一样的困惑?
3 |2 B1 O1 o/ T7 d
$ s1 h: G: M! j4 _% v; l经过不停的翻阅资料,看大牛们的博客,我顿时明白了. }  @7 v  f3 Y$ e# X  D; g$ N9 q
3 r1 h: N3 ?1 c9 ?$ u
首先要知道优先级顺序:not>and>or6 ~  ?' e1 [+ S: {8 y' L; d

$ |3 S6 \4 g7 U7 ~( T* j9 y& ~" ?4 |其次要知道在Python中所有的空字符串都是假,非空字符串都是真,非零的数字都是真。要重点记住!% ^6 g( k, T% y  G! G: q: M" R9 I4 J
6 ?# M, @. Q& J# V" S
接着要知道下面这几个知识点!敲黑板划重点啦# w; v8 W8 ]# N( z1 y$ v
' t4 P( `# ^6 ]' o
对于and:
1 m/ {% O9 W) B
- h$ N4 n$ L6 ^+ D, F只要左边的表达式为真,那么整个表达式返回的是右边表达式的值,否则返回的是左边表达式的值5 ]# w) E4 i' C( |$ V3 f% ]
换言之,x and y 的值只能是x 和 y,x为真时就是y,x为假就是x3 @4 |# Z3 m0 f) B. h1 r5 w
对于or:
# f( b0 B5 ^- j
- L/ A+ d# l- w/ K只要两边的表达式都为真,整个表达式的结果返回的是左边表达式的值;
/ M' ?2 l/ u/ c( S; L& l# J如果一真一假,返回真值表达式的值;( R1 W+ F' l; u
如果两个值都假,比如空值和0,返回的是右边的值(空值或0)3 N/ j6 w" |% ?6 c7 ?( d. O7 k
换言之,x or y 的值只可能是 x 和 y,x为真就是x,x为假就是y
2 c; S0 H8 y8 }3 f/ {" b. m对于not x:: F. X' x% M( k6 T1 J% g+ i! C4 `

/ L2 G* e$ _2 X+ Hx为假,输出True$ x9 ^& x9 M- v- m# _0 ~1 K; C- Z
x为真,输出False
: f# \, @& _$ Femmm...看起来,x and y 与 x or y 的返回结果是相反的3 x5 I) }9 Y" R( ?% Y

: e; x. i4 s$ w* g下面举栗子来详细说明:+ o* ^1 i2 l* ~1 ~4 `! s% i
& s3 T6 @& v& k! M$ o  d' N/ J
(False or 5)输出5                #False为假,在or中,x为假—>输出y- q) ?* P) ]6 X9 ?7 Q+ x

+ k) w3 u  F" i& A. j(5 or False)输出5                #5为真,在or中,x为真—>输出x" y' }- Q1 M  z8 i3 X% _, {
# }5 j! k: v- Y  o9 }' \  t  t2 x4 z
(0 or False)输出False         # 0是假
6 n) A0 k6 X0 I8 p7 {, k1 A
. D% U% x  q8 g7 p8 V; L+ _' Q(True or 3)输出True            #True为真
5 L6 B! y( [. H' {% v8 q1 |5 ^
! C% I3 Z5 p" g6 w(2 or True)输出2                 #2为真, U8 v& |0 w( s- Y4 ]. Y  K
- d2 u% m$ K4 ]- b" e/ F! P1 Y
(0 or True)输出True            #0为假
8 Q* G& ?6 y. D5 m
9 L* L1 l" Y5 c! x6 ?* Q(True or False)输出True     #True为真
5 _- ~  s, a/ X7 R  Q7 P' v
" A- W, g* U0 u; n# f7 }(True and  4)输出4             #True为真,在and中,x为真—>输出y# o1 S# g0 ]! l2 ?, X9 f

* T: w; r7 j0 x+ i& C(1 and True)输出True         #1为真" E' M; B/ ^, ~0 o. t1 K

# n! |* H1 k' Z: j  R4 d(False and 1)输出False      #False为假,在and中,x为假—>输出x( r* v- g3 j; v/ h5 r

! ~) x+ [, ]4 @% T2 m) m5 \(1 and False)输出False      
) C8 `2 y# O  i& H2 S2 c7 h0 ~+ q  ]/ M" w6 N* Z3 Y
(0 and  True)输出09 t, b/ b% h* \: |
$ E$ s! i) V+ z2 p: I) Y7 E4 z
(not 3)输出False                #3为真,在not中,x为真—>输出False
4 A# ~7 M) ?, S
2 S" D6 m, C! C8 P(not 0)输出True             ; ?/ ?" N% }' y1 v4 l5 V1 p

* a# k8 o) n" ~4 B% Z8 s注意:布尔类型bool是特殊的整型,True相当于1,False相当于0
新大榭Python学习社区公益培训、Excel业务指导、办公软件定制、网站建设、网络安全;新大榭Web实验室欢迎您!http://lab.daxie.net.cn/
Q群推荐 大榭本地求职招聘QQ群,欢迎转发分享本地招聘信息资讯! 官方招聘1群(已满);官方招聘2群:315816937 *
您需要登录后才可以回帖 登录 | 注册

本版积分规则

新大榭七周年,感谢由您!

文字版|小黑屋|新大榭 ( 浙ICP备16018253号-1 )|点击这里给站长发消息|

GMT+8, 2024-5-19 18:47 , Processed in 0.065353 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表