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中的逻辑操作符的更多相关文章

  1. Python中and(逻辑与)计算法则

    在程序设计中,and称为逻辑与运算,也称布尔运算:1.and是在布尔上下文中从左到右计算表达式的值:2.0.''.[].().{}.None.False在布尔上下文中为假:其它任何东西都为真:3.如果 ...

  2. 9、python中的控制流

    学习完python的基础与数据后,我们就可以编写一些简单的命令了.但这时我们发现,目前位置写出来的程序都是自上而下顺序地执行的.要想程序改变这种自上而下的流程多一点变化,我们就要学习三种程序中的语句. ...

  3. 你好,C++(17)0.1*10不等于1.0——4.1.4 关系操作符4.1.5 逻辑操作符

    4.1.4  关系操作符 在C++中,除了需要用算术操作符对数据进行加减乘除的算术操作之外,我们有时候还需要对数据之间的关系进行操作,也就是对两个数据进行大小比较,得出它们之间的大小关系.在现实世界中 ...

  4. python 中的 %s,%r,__str__,__repr__

    1.%s,%r的区别 在进行格式化输出时,%r 与 %s 的区别就好比 repr() 函数处理对象与 str() 函数处理对象的差别. %s ⇒ str(),比较智能: %r ⇒ repr(),处理较 ...

  5. JavaScript:逻辑操作符“==”与“===”的区别

    Summary JavaScript中,逻辑操作符“===”会先检查操作数的数据类型,对不同的数据类型会返回false. 而“==”对不同类型的操作数进行比较时,会进行类型转换后再比较. Descri ...

  6. python中 and 和 or 运算的核心思想 ——— 短路逻辑

    python中 and 和 or 运算的核心思想 --- 短路逻辑 1. 包含一个逻辑运算符 首先从基本的概念着手,python中哪些对象会被当成 False 呢?而哪些又是 True 呢? 在Pyt ...

  7. Python中的集合类型分类和集合类型操作符解析

    集合类型    数学上,把set称作由不同的元素组成的集合,集合(set)的成员通常被称作集合元素(set elements).    Python把这个概念引入到它的集合类型对象里.集合对象是一组无 ...

  8. Python中三目计算符的正确用法及短路逻辑

    今天在看别人代码时看到这样一种写法, 感觉是个挺容易踩到的坑, 搞清楚后写出来备忘. 短路逻辑 Python中进行逻辑运算的时候, 默认采用的是一种叫做短路逻辑的运算规则. 名字是很形象的, 下面直接 ...

  9. Python中导入第三方声源库Acoular的逻辑解释以及Acoular的下载

    [声明]欢迎转载,但请保留文章原始出处→_→ 秦学苦练:http://www.cnblogs.com/Qinstudy/ 文章来源:http://www.cnblogs.com/Qinstudy/p/ ...

随机推荐

  1. 使用VS2015 时 报LNK1104 找不到exe.manifest 的解决方法

    一般都是由于工程配置文件导致的错误,暴力方法: 直接用文本工具打开.vcxproj文件.搜索AdditionalManifestFiles ,然后根据当前工程目录进行更改

  2. Shallow Heap & Retained Heap

    所有包含Heap Profling功能的工具(MAT, Yourkit, JProfiler, TPTP等)都会使用到两个名词,一个是Shallow Size,另一个是 Retained Size. ...

  3. ini_set ini_get 可操作配置参数列表

    为了使自己的程序在不同的平台中拥有更好的兼容性,很多时候我们都要获取当前Php的运行环境参数. 比如我们常用到的: 获取 magic_quotes_gpc 状态,来决定当表单提交时我们是否转义(add ...

  4. LeetCode207. Course Schedule

    Description There are a total of n courses you have to take, labeled from 0 to n - 1. Some courses m ...

  5. redis常用数据类型 HyperLoglog

    1.HyperLoglog简介 HyperLoglog是redis新支持的两种类型中的另外一种(上一种是位图类型Bitmaps).主要适用场景是海量数据的计算.特点是速度快.占用空间小. 同样是用于计 ...

  6. 浅谈javascript的this指向

    This的指向大致能够分为下面四类.我们分别举例说明 1. 作为对象的方法调用时.this指向该对象 var obj={     a:1,     getA:function(){        co ...

  7. Unity3D学习笔记——NGUI之Property Binding

    Property Binding:用于绑定两个组件,然后可以将一个组件的信息发送给另一个组件. 效果图如下: 一:使用步骤 1.建立一个Sprite 2.建立一个Label 3.为Sprite添加Pr ...

  8. 百度-设置-搜索设置-每页显示50条-保存设置-打印alert信息-accept确定

    一.场景: 代码: #coding:utf-8from selenium import webdriverfrom selenium.webdriver.common.action_chains im ...

  9. PYTHON -转载,获取淘宝数据01

    import requests import sys import random api = { 'number':[ 'https://acs.m.taobao.com/h5/mtop.taobao ...

  10. python time与datetime.date/datetime模块

    https://docs.python.org/3/library/datetime.html 1.用于日期比较大小的方法 方法名 方法说明 用法 __eq__(…) 等于(x==y) x.__eq_ ...