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连接oracle数据库实例
Oct 17 Python
Python的迭代器和生成器使用实例
Jan 14 Python
分享一下如何编写高效且优雅的 Python 代码
Sep 07 Python
Python爬虫爬取新浪微博内容示例【基于代理IP】
Aug 03 Python
python 3.6.5 安装配置方法图文教程
Sep 18 Python
Python pyinotify模块实现对文档的实时监控功能方法
Oct 13 Python
Python-Seaborn热图绘制的实现方法
Jul 15 Python
Django 实现admin后台显示图片缩略图的例子
Jul 28 Python
使用 Python 遍历目录树的方法
Feb 29 Python
Anaconda的安装及其环境变量的配置详解
Apr 22 Python
Pycharm快捷键配置详细整理
Oct 13 Python
Python实现淘宝秒杀功能的示例代码
Jan 19 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
在线短消息收发的程序,不用数据库
2006/10/09 PHP
php 三维饼图的实现代码
2008/09/28 PHP
PHP中利用substr_replace将指定两位置之间的字符替换为*号
2011/01/27 PHP
php读取目录所有文件信息dir示例
2014/03/18 PHP
PHP将回调函数作用到给定数组单元的方法
2014/08/19 PHP
php生成excel列名超过26列大于Z时的解决方法
2014/12/29 PHP
php设计模式之适配器模式实例分析【星际争霸游戏案例】
2020/04/07 PHP
键盘控制事件应用教程大全
2006/11/24 Javascript
使用jquery实现select添加实现后台权限添加的效果
2011/05/28 Javascript
分享精心挑选的23款美轮美奂的jQuery 图片特效插件
2012/08/14 Javascript
JavaScript中for..in循环陷阱介绍
2013/11/12 Javascript
浅谈JavaScript数据类型
2015/03/03 Javascript
微信jssdk在iframe页面失效问题的解决措施
2016/03/03 Javascript
JS组件系列之Bootstrap table表格组件神器【终结篇】
2016/05/10 Javascript
早该知道的7个JavaScript技巧
2016/06/21 Javascript
jQuery选择器总结之常用元素查找方法
2016/08/04 Javascript
浅谈layer的iframe弹窗给里面的标签赋值的问题
2016/11/10 Javascript
JS去掉字符串前后空格或去掉所有空格的用法
2017/03/25 Javascript
jQuery实现Select下拉列表进行状态选择功能
2017/03/30 jQuery
vue使用rem实现 移动端屏幕适配
2018/09/26 Javascript
jQuery添加新内容的四个常用方法分析【append,prepend,after,before】
2019/03/19 jQuery
JS实现简易留言板(节点操作)
2020/03/16 Javascript
鸿蒙系统中的 JS 开发框架
2020/09/18 Javascript
跟老齐学Python之有容乃大的list(4)
2014/09/28 Python
浅谈Python中列表生成式和生成器的区别
2015/08/03 Python
详解Python二维数组与三维数组切片的方法
2019/07/18 Python
Java里面StringBuilder和StringBuffer有什么区别
2016/06/06 面试题
Linux面试经常问的文件系统操作命令
2015/11/05 面试题
卫校中专生的自我评价
2014/01/15 职场文书
宿舍保安职务说明书
2014/02/25 职场文书
演讲稿格式
2014/04/30 职场文书
会计试用期自我评价怎么写
2014/09/18 职场文书
2014年物业管理工作总结
2014/11/21 职场文书
庐山导游词
2015/02/03 职场文书
浅谈Redis主从复制以及主从复制原理
2021/05/29 Redis
python之基数排序的实现
2021/07/26 Python