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

作者:飞行员红猪 时间:2023-07-05 23:02:34 

按位与或(&、|、^):按照二进制进行逻辑运算
例如:数字换成二进制,各自位上的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)和按位与或异或(&、|、^)区别

来源:https://blog.csdn.net/aixiangnan/article/details/89430244

标签:逻辑与或,按位与或,Python,逻辑运算
0
投稿

猜你喜欢

  • Go语言集成开发环境IDE详细安装教程

    2024-04-25 15:26:12
  • PHP自动生成缩略图函数的源码示例

    2023-06-26 19:13:37
  • SQL列名无效 sql查询列名 sql返回列名

    2009-09-03 13:19:00
  • 如何确定Oracle数据库表重复的记录

    2010-07-26 13:23:00
  • python3 解决requests出错重试的问题

    2021-02-05 10:26:27
  • Python画柱状统计图操作示例【基于matplotlib库】

    2021-04-06 21:53:50
  • Python异步之迭代器如何使用详解

    2023-09-10 17:48:34
  • python文字和unicode/ascll相互转换函数及简单加密解密实现代码

    2023-08-23 08:13:59
  • Oracle中查询本月星期5的所有日期列表的语句

    2012-07-11 16:13:21
  • php 图片上添加透明度渐变的效果

    2023-10-23 09:00:02
  • Python中的配对函数zip()解读

    2021-04-14 20:54:33
  • 关于 Python json中load和loads区别

    2021-04-24 20:30:51
  • Mysql使用sum()函数返回null的问题详解

    2024-01-17 03:20:04
  • Spring boot连接MySQL 8.0可能出现的问题

    2024-01-17 17:04:28
  • python实战之德州扑克第二步-判断牌型

    2021-03-19 12:37:28
  • 关于python处理大型json文件的方法

    2023-09-24 12:47:47
  • sqlserver、Mysql、Oracle三种数据库的优缺点总结

    2024-01-22 10:33:56
  • Python字符编码转码之GBK,UTF8互转

    2023-02-20 14:03:01
  • 视觉设计常见误解

    2008-11-13 13:09:00
  • [图文]三分钟学会Sql Server的复制功能

    2024-01-25 10:47:51
  • asp之家 网络编程 m.aspxhome.com