python中逻辑与或(and、or)和按位与或异或(&、|、^)区别
作者:飞行员红猪 发布时间:2023-07-05 23:02:34
标签:逻辑与或,按位与或,Python,逻辑运算
按位与或(&、|、^):按照二进制进行逻辑运算
例如:数字换成二进制,各自位上的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)
输出:
例2:若运行到函数且无返回值,则输出None,且后面的表达式逻辑短路
def print_1():
print('已经运行这里了')
a = 99 and 3==3 and print_1() and False
print(a)
输出:
例3:若表达式全正确,则输出最后一个正确的结果
def print_1():
print('已经运行这里了')
return 1==1
a = 99 and 3==3 and print_1() and 99
print(a)
输出:
2:or:从左到右运行,运行到表达式正确的就输出这个表达式的结果,后面的表达式逻辑短路;若运行到函数且无返回值,则继续运行后面的表达式;
若表达式全不正确,则输出False;
例1:运行到表达式正确的就输出这个表达式的结果,后面的表达式逻辑短路
def print_1():
print('已经运行这里了')
b = 99==1 or 3==3 or print_1()
print(b)
输出:
例2:若运行到函数且无返回值,则继续运行后面的表达式
def print_1():
print('已经运行这里了')
b = 99==1 or 3==1 or print_1() or 99
print(b)
输出:
例3:若表达式全不正确,则输出False
def print_1():
print('已经运行这里了')
b = 99==1 or 3==1 or print_1() or False
print(b)
输出:
来源:https://blog.csdn.net/aixiangnan/article/details/89430244


猜你喜欢
- //只能在firefox下运行 var test = { name: "puterjam", __noSuchMetho
- 之前写过一篇文章《EmEditor代码片段插件介绍》,现在项目越来越多,越来越大,不再用EmEditor,而用IntelliJ IDEA。这
- 集合(set)是一个无序的不重复元素序列。可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而
- 概述从今天开始, 小白我将带领大家一起来补充一下 数据库的知识.数据控制语言数据控制语言 (Data Control Language) 是
- 多表连接查询表与表之间的连接分为内连接和外连接内连接:仅选出两张表互相匹配的记录外连接:既包括两张表匹配的记录,也包括不匹配的记录,同时外连
- strIn 为 输入的Email地址字符串变量 返回为true或falsereturn Regex.IsMatch(strIn, @&quo
- 一、安 * rew终端上运行 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubus
- 本文实例为大家分享了python实现彩色图转换成灰度图的具体代码,供大家参考,具体内容如下from PIL import Imageimpo
- 某天和一个产品经理聊起:以用户为中心是一个理想概念。经历了太多的项目,看到了太多的限制条件。而我向来不是一个有着设计洁癖的完美主义者。做为所
- 异步编程带来的问题在客户端Javascript中并不明显,但随着服务器端Javascript越来越广的被使用,大量的异步IO操作使得该问题变
- 浏览器的出现互联网的出现是人类信息交流方式的一次划时代的革命,在这场革命中有两个技术对互联网的发展起到了决定性的作用:一个技术带来的人类信息
- 开篇语本文主要是回顾下从项目创建到生成数据到数据库(代码优先)的全部过程。采用EFCore作为ORM框架。本次示例环境:vs2019、net
- 但是你懂的,浏览器实在太不和谐了,兼容性且不说,各种坐标属性看得人头昏眼花,极容易混淆。好吧,我来总结一下: 测试浏览器:IE8, Chro
- 这个我早就改好了一直没有放上来.现在发给大家用用注意这几个变量它们影响到提示框的效果代码:var rT=true;//允许图像过渡
- cs页面调用代码: public int TotalPage = 0; public int PageCurrent = 1; public
- 正则表达式中的符号符号描述re1 | re2匹配正则表达式 re1 或者 re2 ;re1 与 re2 代表两个匹配的字符串信息^匹配字符串
- 1.什么是接口接口就是一种规范与标准,在生活中经常见接口,例如:笔记本电脑的USB接口,可以将任何厂商生产的鼠标与键盘,与电脑进行链接。为什
- 文件处理流程1.打开文件,得到文件句柄并赋值给一个变量2.通过句柄对文件进行操作3.关闭文件 r模式,默认模式,文件不存在则报错w
- 目录1. 柱状图概述1.1什么是柱状图1.2柱状图使用场景1.3柱状图绘制步骤1.3案例展示2. 柱状图属性2.1柱状体颜色填充2.2状描边
- 1. 建表的语法建表属于 DDL 语句,DDL 语句包括:create、drop、alter…create table