python中的逻辑操作符
python中主要有三个逻辑操作符,分别是:and、or、not。
and:且,所有人为真才为真。
or:或,一个为正就是真。
not:非,取反。
>>> print(3>2 and 3 >4)
False #所有人为真方为真
>>> print(3>2 and 3 >1)
True
>>> print(3>2 or 3 > 4)
True #一人为真就可真
>>> print(3>6 or 3 > 4)
False
>>> print(not False)
True #取反
>>> print(not True)
False
逻辑操作符的优先级:()> not > and > or
同等优先级下,从左到右依次计算。
>>> print(2>1 and 3 < 4 or 4 > 5 and 2 <1)
优先级 真 or 假
真
True
>>> print(1>2 and 3<4 or 4>5 and 2>1 and 9>8 or 7<6)
优先级 假 or 假 or 假
假 or 假
假
False
>>> print(1>2 and 3<4 or 4>5 and 2>1 and 9>8 or 7>6)
True
>>> print(not 2>1 and 3<4 or 4>5 and 2>1 and 9>8 or 7<6)
假 and
假 or 假 or 假
假
False
小技巧:多个同样的操作符放在一块,一起判断。
布尔值只有两个False和True,False代表0,True代表1
除0和False以外所有的字符串和数字都为真
>>> bool(False)
False
>>> bool(1)
True
>>> bool(0)
False
>>> bool(10)
True
>>> bool('123wqeq')
True
以上所说得知识会在下面得到运用。
>>> print(3 or 4)
3
>>> print(2 or 4)
2
>>> print(0 or 4)
4
>>> print(-1 or 4)
-1
>>> print(3 and 4)
4
>>> print(2 and 4)
4
>>> print(0 and 4)
0
>>> print(-1 and 4)
4
总结:除了0代表假之外其余的全部都为真。关于3 or 4 为啥返回3,3 and 4返回4我也说不明白,只能做如下总结。
X or Y :真与假在一起返回真
>>> print(4 or 0)
4
>>> print(0 or 4)
4
XY均为真,返回前面的
X and Y : 真与假在一起返回假
>>> print(4 and 0)
0
>>> print(0 and 4)
0
:真和真在一起,返回后面的
>>> print(3 and 4)
4
>>> print(2 and 4)
4
看一个例子:
>>> print(0 and 3 or 4 or 1 or 2)
0为假,返回0
0 or 4有真返真,故返回4
4 or 1 or 2 全为真返回前面的
4
>>> print(3 or 3>2)
3 #返回前面的,3>2可以看作内层计算,所以结果为True
>>> print(3>2 or 3)
True
python中的逻辑操作符的更多相关文章
- Python中and(逻辑与)计算法则
在程序设计中,and称为逻辑与运算,也称布尔运算:1.and是在布尔上下文中从左到右计算表达式的值:2.0.''.[].().{}.None.False在布尔上下文中为假:其它任何东西都为真:3.如果 ...
- 9、python中的控制流
学习完python的基础与数据后,我们就可以编写一些简单的命令了.但这时我们发现,目前位置写出来的程序都是自上而下顺序地执行的.要想程序改变这种自上而下的流程多一点变化,我们就要学习三种程序中的语句. ...
- 你好,C++(17)0.1*10不等于1.0——4.1.4 关系操作符4.1.5 逻辑操作符
4.1.4 关系操作符 在C++中,除了需要用算术操作符对数据进行加减乘除的算术操作之外,我们有时候还需要对数据之间的关系进行操作,也就是对两个数据进行大小比较,得出它们之间的大小关系.在现实世界中 ...
- python 中的 %s,%r,__str__,__repr__
1.%s,%r的区别 在进行格式化输出时,%r 与 %s 的区别就好比 repr() 函数处理对象与 str() 函数处理对象的差别. %s ⇒ str(),比较智能: %r ⇒ repr(),处理较 ...
- JavaScript:逻辑操作符“==”与“===”的区别
Summary JavaScript中,逻辑操作符“===”会先检查操作数的数据类型,对不同的数据类型会返回false. 而“==”对不同类型的操作数进行比较时,会进行类型转换后再比较. Descri ...
- python中 and 和 or 运算的核心思想 ——— 短路逻辑
python中 and 和 or 运算的核心思想 --- 短路逻辑 1. 包含一个逻辑运算符 首先从基本的概念着手,python中哪些对象会被当成 False 呢?而哪些又是 True 呢? 在Pyt ...
- Python中的集合类型分类和集合类型操作符解析
集合类型 数学上,把set称作由不同的元素组成的集合,集合(set)的成员通常被称作集合元素(set elements). Python把这个概念引入到它的集合类型对象里.集合对象是一组无 ...
- Python中三目计算符的正确用法及短路逻辑
今天在看别人代码时看到这样一种写法, 感觉是个挺容易踩到的坑, 搞清楚后写出来备忘. 短路逻辑 Python中进行逻辑运算的时候, 默认采用的是一种叫做短路逻辑的运算规则. 名字是很形象的, 下面直接 ...
- Python中导入第三方声源库Acoular的逻辑解释以及Acoular的下载
[声明]欢迎转载,但请保留文章原始出处→_→ 秦学苦练:http://www.cnblogs.com/Qinstudy/ 文章来源:http://www.cnblogs.com/Qinstudy/p/ ...
随机推荐
- SQL——使用游标进行遍历
前两天一个同事大叔问了这样一个问题,他要对表做个类似foreach的效果,问我怎么搞.我想了想,就拿游标回答他,当时事实上也没用过数据库中的游标,可是曾经用过ADO里面的,感觉应该几乎相同. 今天闲下 ...
- 在Linux命令行下发送html格式的邮件
在Linux利用formail+sendmail来发送带图片的邮件 formail接收html格式的文件作为邮件的内容,这样就可以解决发送带图片邮件的问题了,因为html中可以插入图片,只要给出的im ...
- spring oauth Role and Authority and scope
使用hasRole class Grant implements GrantedAuthority{ @Override public String getAuthority() { return & ...
- Android实现录屏直播(二)需求才是硬道理之产品功能调研
请尊重分享成果,转载请注明出处,本文来自Coder包子哥,原文链接:http://blog.csdn.net/zxccxzzxz/article/details/54254244 前面的Android ...
- Java报表生成技术
报表是以格式化的形式输出数据,并对数据进行分组.汇总.计算等操作.通过报表.图表或者嵌入图片图像等形式来丰富数据的显示. 报表生成的步骤: 后台数据抽取(DAO层): 数据项逻辑运算(业务逻辑层): ...
- LibShortText 怎么处理中文文档
LibShortText 是林智仁老师继 libsvm.liblinear 之后的另一力作,主要有几大特征: It is more efficient than general text-mining ...
- ios 关于collectionView.performBatchUpdates()方法 --时时更新
今天想实现一个简单的collectionView动画效果,查阅相关资料发现,实现 collectionView.performBatchUpdates()方法即可,于是掉坑里了. 文档: public ...
- wtform 表单示例
用户注册 from flask import Flask, render_template, request, redirect from wtforms import Form from wtfor ...
- Tomcat工作原理解析!
Tomcat简介 作者:杨晓(http://blog.sina.com.cn/u/1237288325) 一.Tomcat背景 自从JSP发布之后,推出了各式各样的JSP引擎.Apache Gro ...
- php中变量引用&不可与global共同使用
问题来源,新公司debug. 程序中代码大致如下 class Ci { private static $instance = NULL; public $name = 'hello'; public ...