python中逻辑与或(and、or)和按位与或异或(&、|、^)区别


Posted in Python onAugust 05, 2020

按位与或(&、|、^):按照二进制进行逻辑运算
例如:数字换成二进制,各自位上的0/1进行逻辑运算,得到的结果转换为数字

3 & 2
=0111 & 0010
=0010
=2

二进制逻辑运算规则:

&:0&0=0; 0&1=0; 1&0=0; 1&1=1。
|:0|0=0; 0|1=1; 1|0=1; 1|1=1。
^:0^0=0; 0^1=1; 1^0=1; 1^1=0。

代码运行顺序:从上到下,从左到右

一:逻辑与或 (and、or)

1:and :从左到右运行,运行到表达式不正确就输出False,后面的表达式逻辑短路;若运行到函数且无返回值,则输出None,且后面的表达式逻辑短路(不运行了);
若表达式全正确,则输出最后一个正确的结果。

例1:运行到表达式不正确就输出False,后面的表达式逻辑短路

def print_1():
 print('已经运行这里了')
a = 99 and 3==1 and print_1()
print(a)

输出:

python中逻辑与或(and、or)和按位与或异或(&、|、^)区别

例2:若运行到函数且无返回值,则输出None,且后面的表达式逻辑短路

def print_1():
 print('已经运行这里了')
a = 99 and 3==3 and print_1() and False
print(a)

输出:

python中逻辑与或(and、or)和按位与或异或(&、|、^)区别

例3:若表达式全正确,则输出最后一个正确的结果

def print_1():
 print('已经运行这里了')
 return 1==1
a = 99 and 3==3 and print_1() and 99
print(a)

输出:

python中逻辑与或(and、or)和按位与或异或(&、|、^)区别

2:or:从左到右运行,运行到表达式正确的就输出这个表达式的结果,后面的表达式逻辑短路;若运行到函数且无返回值,则继续运行后面的表达式;
若表达式全不正确,则输出False;

例1:运行到表达式正确的就输出这个表达式的结果,后面的表达式逻辑短路

def print_1():
 print('已经运行这里了')
b = 99==1 or 3==3 or print_1()
print(b)

输出:

python中逻辑与或(and、or)和按位与或异或(&、|、^)区别

例2:若运行到函数且无返回值,则继续运行后面的表达式

def print_1():
 print('已经运行这里了')
b = 99==1 or 3==1 or print_1() or 99
print(b)

输出:

python中逻辑与或(and、or)和按位与或异或(&、|、^)区别

例3:若表达式全不正确,则输出False

def print_1():
 print('已经运行这里了')
b = 99==1 or 3==1 or print_1() or False
print(b)

输出:

python中逻辑与或(and、or)和按位与或异或(&、|、^)区别

到此这篇关于python中逻辑与或(and、or)和按位与或异或(&、|、^)区别的文章就介绍到这了,更多相关python中逻辑与或(and、or)和按位与或异或(&、|、^)内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python 解析XML文件
Apr 15 Python
python中__slots__用法实例
Jun 04 Python
python实现web方式logview的方法
Aug 10 Python
python 调用win32pai 操作cmd的方法
May 28 Python
Python字符串格式化%s%d%f详解
Feb 02 Python
Flask框架信号用法实例分析
Jul 24 Python
python调用百度语音REST API
Aug 30 Python
Python开发虚拟环境使用virtualenvwrapper的搭建步骤教程图解
Sep 19 Python
Python 多线程不加锁分块读取文件的方法
Dec 11 Python
python-django中的APPEND_SLASH实现方法
Jun 21 Python
python 命令行传入参数实现解析
Aug 30 Python
写好Python代码的几条重要技巧
May 21 Python
Node.js 和 Python之间该选择哪个?
Aug 05 #Python
基于python图书馆管理系统设计实例详解
Aug 05 #Python
基于Python的一个自动录入表格的小程序
Aug 05 #Python
Python中logging日志记录到文件及自动分割的操作代码
Aug 05 #Python
Python如何读写字节数据
Aug 05 #Python
python中Django文件上传方法详解
Aug 05 #Python
Python限制内存和CPU使用量的方法(Unix系统适用)
Aug 04 #Python
You might like
PHP 手机归属地查询 api
2010/02/08 PHP
php中禁止单个IP与ip段访问的代码小结
2012/07/04 PHP
PHP获取php,mysql,apche的版本信息示例代码
2014/01/16 PHP
php绘图中显示不出图片的原因及解决
2014/03/05 PHP
PHP中的日期加减方法示例
2014/08/21 PHP
PHP多线程编程之管道通信实例分析
2015/03/07 PHP
浅谈PHP中new self()和new static()的区别
2017/08/11 PHP
PHP实现模拟http请求的方法分析
2017/12/20 PHP
详解CSS样式中的 !important * _ 符号
2021/03/09 HTML / CSS
JS控件autocomplete 0.11演示及下载 1月5日已更新
2007/01/09 Javascript
jquery1.4 教程二 ajax方法的改进
2010/02/25 Javascript
JavaScript四种调用模式和this示例介绍
2014/01/02 Javascript
用js控制组织结构图可以任意拖拽到指定位置
2014/01/17 Javascript
javascript中的__defineGetter__和__defineSetter__介绍
2014/08/15 Javascript
Highcharts学习之坐标轴
2016/08/02 Javascript
js实现带简单弹性运动的导航条
2017/02/22 Javascript
vue 实现小程序或商品秒杀倒计时
2019/04/14 Javascript
基于Vue实现微前端的示例代码
2020/04/24 Javascript
vue使用vue-quill-editor富文本编辑器且将图片上传到服务器的功能
2021/01/13 Vue.js
python实现挑选出来100以内的质数
2015/03/24 Python
利用python实现简单的邮件发送客户端示例
2017/12/23 Python
Python 中的lambda函数介绍
2018/10/10 Python
对pandas处理json数据的方法详解
2019/02/08 Python
ERLANG和PYTHON互通实现过程详解
2019/07/05 Python
Jupyter 无法下载文件夹如何实现曲线救国
2020/04/22 Python
浅谈keras 的抽象后端(from keras import backend as K)
2020/06/16 Python
灵活运用CSS3特性绘制简易版围棋效果
2016/09/28 HTML / CSS
eHarmony英国:全球领先的认真恋爱约会平台之一
2020/11/16 全球购物
会计自我鉴定范文
2013/10/06 职场文书
中专药剂专业应届毕的自我评价
2013/12/27 职场文书
财务部副经理岗位职责范本
2014/06/17 职场文书
保卫钓鱼岛口号
2014/06/20 职场文书
个人总结与自我评价2015
2015/03/11 职场文书
中秋晚会致辞
2015/07/31 职场文书
vue实现滑动解锁功能
2022/03/03 Vue.js
PostgreSQL并行计算算法及参数强制并行度设置方法
2022/04/07 PostgreSQL