Python逻辑与计算问题

qq_40608182 2017-11-24 10:24:07
已知逻辑运算符and的运算规则:
1 and 1=1
0 and 0=0
1 and 0=0
0 and 1=0

为什么会出现以下结果?

>>> 3 and 4 #输出结果为什么是4
4
>>> 4 and 3 #输出结果为什么是3
3

求大神帮忙解答下,谢谢!
...全文
79 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
碧水幽幽泉 2017-11-25
  • 打赏
  • 举报
回复
百度搜索到的:http://unei66.blog.163.com/blog/static/544640292010320745886/ 结合自己的理解答复。
qq_40608182 2017-11-25
  • 打赏
  • 举报
回复
引用 4 楼 qq646748739 的回复:
感谢大家的热心解答,终于弄明白了python中and的计算规则!
你帮我回答了,哈哈哈,就此结贴!
碧水幽幽泉 2017-11-24
  • 打赏
  • 举报
回复
感谢大家的热心解答,终于弄明白了python中and的计算规则!
碧水幽幽泉 2017-11-24
  • 打赏
  • 举报
回复
首先你要明白and的概念,其次理解以下4点即可: 1.在程序设计中,and称为逻辑与运算,也称布尔运算; 2.and是在布尔上下文中从左到右计算表达式的值; 3.0、''、[]、()、{}、None 在布尔上下文中为假;其它任何东西都为真; 4.如果布尔上下文中的某个值为假,则返回第一个假值; 5.所有值都为真,则返回最后一个真值。
混沌鳄鱼 2017-11-24
  • 打赏
  • 举报
回复
首先要说一下,真值和假值 在Python里,所有的东西都是对象,同样基本把所有对象都可以当成逻辑值来判断。 如空字符串对象‘’当False, 有内容的字符串当成True;空[] list 当成False,非空list当成True;把非0数值对象都当成是True,把0当成False 再说Python的AND逻辑运算规则是只判断 AND 前的对象 如果是 属于False,那么不管AND后面对象,直接返回AND前的对象。 如果是 属于True,那么直接返回AND的后面的对象。

>>> 0 and 1
0
>>> False and 2
False
>>> '' and 1
''
>>> None and 1
>>> 'ab' and 0
0
>>> 1 and 'ab'
'ab'
>>> [] and 3
[]
>>> [1,2] and (1,2,3)
(1, 2, 3)
>>> 
大米粥哥哥 2017-11-24
  • 打赏
  • 举报
回复
若为真 返回最后一个值 详情百度 python and

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧