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中for循环下的索引变量的作用域
Apr 15 Python
Django框架中的对象列表视图使用示例
Jul 21 Python
详解Python里使用正则表达式的ASCII模式
Nov 02 Python
python向已存在的excel中新增表,不覆盖原数据的实例
May 02 Python
python+unittest+requests实现接口自动化的方法
Nov 29 Python
python定时复制远程文件夹中所有文件
Apr 30 Python
解决Python计算矩阵乘向量,矩阵乘实数的一些小错误
Aug 26 Python
python+rsync精确同步指定格式文件
Aug 29 Python
python 队列基本定义与使用方法【初始化、赋值、判断等】
Oct 24 Python
使用jupyter notebook直接打开.md格式的文件
Apr 10 Python
Python基于staticmethod装饰器标示静态方法
Oct 17 Python
python飞机大战游戏实例讲解
Dec 04 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
全国FM电台频率大全 - 12 安徽省
2020/03/11 无线电
php 保留小数点
2009/04/21 PHP
PHP的变量总结 新手推荐
2011/04/18 PHP
PHP数学运算与数据处理实例分析
2016/04/01 PHP
PHP面向对象自动加载机制原理与用法分析
2016/10/14 PHP
JavaScript 字符串与数组转换函数[不用split与join]
2009/12/13 Javascript
JavaScript 面向对象编程(1) 基础
2010/05/18 Javascript
juqery 学习之三 选择器 层级 基本
2010/11/25 Javascript
jQuery实现密保互斥问题解决方案
2013/08/16 Javascript
jQuery 无刷新分页实例代码
2013/11/12 Javascript
jquery插件lazyload.js延迟加载图片的使用方法
2014/02/19 Javascript
AngularJS基础 ng-if 指令用法
2016/08/01 Javascript
深入浅出 jQuery中的事件机制
2016/08/23 Javascript
分分钟玩转Vue.js组件(二)
2017/03/01 Javascript
angularjs+bootstrap实现自定义分页的实例代码
2017/06/19 Javascript
vue checkbox 全选 数据的绑定及获取和计算方法
2018/02/09 Javascript
基于jQuery实现Ajax验证用户名是否可用实例
2018/03/25 jQuery
Vue页面跳转动画效果的实现方法
2018/09/23 Javascript
微信小程序实现页面下拉刷新和上拉加载功能详解
2018/12/03 Javascript
仿iPhone通讯录制作小程序自定义选择组件的实现
2019/05/23 Javascript
[00:59]DOTA2英雄背景故事——上古巨神
2020/06/28 DOTA
用实例说明python的*args和**kwargs用法
2013/11/01 Python
使用Python脚本在Linux下实现部分Bash Shell的教程
2015/04/17 Python
八大排序算法的Python实现
2021/01/28 Python
python实现归并排序算法
2018/11/22 Python
Python设计模式之命令模式原理与用法实例分析
2019/01/11 Python
python set集合使用方法解析
2019/11/05 Python
python 轮询执行某函数的2种方式
2020/05/03 Python
HTML5 History API 实现无刷新跳转
2016/01/11 HTML / CSS
主键(Primary Key)约束和唯一性(UNIQUE)约束的区别
2013/05/29 面试题
军训鉴定表自我鉴定
2014/02/13 职场文书
查摆问题整改措施范文
2014/10/11 职场文书
导游词开场白
2015/01/31 职场文书
邀请书模板
2015/02/02 职场文书
关于感恩的素材句子(38句)
2019/11/11 职场文书
科学家测试在太空中培育人造肉,用于未来太空旅行
2022/04/29 数码科技