Python入门教程之逻辑运算符

Python入门教程:https://www.bilibili.com/video/BV1rmGczpEbG


逻辑运算符是用于逻辑运算的符号。


符号 描述
and 逻辑与
or 逻辑或
not 逻辑非

逻辑运算(基本)

逻辑运算就是布尔类型之间的运算

逻辑与

使用关键字"and"可以进行逻辑与运算,逻辑与运算即当两值均为True时结果为True,否则结果为False

python 复制代码
b1 = True and True
b2 = True and False
b3 = False and True
b4 = False and False

print(b1)  # True
print(b2)  # False
print(b3)  # False
print(b4)  # False

逻辑或

使用关键字"or"可以进行逻辑或运算,逻辑或运算即当两值存在True时结果为True,否则结果为False

python 复制代码
b1 = True or True
b2 = True or False
b3 = False or True
b4 = False or False

print(b1)  # True
print(b2)  # True
print(b3)  # True
print(b4)  # False

逻辑非

使用关键字"not"可以进行逻辑非运算,逻辑非运算即当值为True时结果为False,否则结果为True

python 复制代码
b1 = not True
b2 = not False

print(b1)  # False
print(b1)  # True

逻辑运算(扩展)

逻辑运算还可以扩展至其他类型

逻辑与

进行逻辑与运算时,会依据转换规则将前值视为布尔类型,如果被视为True则结果为后值,否则结果为前值

python 复制代码
b1 = 1 and 2  # True
b2 = 0 and 2  # False

print(b1)  # 2
print(b2)  # 0

逻辑或

进行逻辑或运算时,会依据转换规则将前值视为布尔类型,如果被视为True则结果为前值,否则结果为后值

python 复制代码
b1 = 1.0 or 2.0  # True
b2 = 0.0 or 2.0  # False

print(b1)  # 1.0
print(b2)  # 2.0

逻辑非

进行逻辑非运算时,会依据转换规则将值视为布尔类型,如果被视为True则结果为False,否则结果为True

python 复制代码
b1 = not '你好'  # True
b2 = not ''  # False

print(b1)  # False
print(b2)  # True

逻辑运算(短路)

进行逻辑与和逻辑或运算时,当前项满足一定条件,后项就不会执行

逻辑与

进行逻辑与运算时,如果前项为True则会执行后项,否则不会执行后项

python 复制代码
True and print(True)  # True
False and print(False)

进行逻辑与运算时,如果前项被视为True则会执行后项,否则不会执行后项

python 复制代码
1 and print(1)  # 1
0 and print(0)

逻辑或

进行逻辑或运算时,如果前项为False则会执行后项,否则不会执行后项

python 复制代码
True or print(True)
False or print(False)  # False

进行逻辑或运算时,如果前项被视为False则会执行后项,否则不会执行后项

python 复制代码
1 or print(1)
0 or print(0)  # 0
相关推荐
小小晓.3 分钟前
C++记:函数
开发语言·c++·算法
牡丹雅忻124 分钟前
AES 加密模式演进:从 ECB、CBC 到 GCM 的 C# 深度实践
java·开发语言·c#
连续讨伐29 分钟前
php小结
开发语言·php
进击的程序猿~39 分钟前
Go 并发底层原理面试学习指南
开发语言·面试·golang
Python私教43 分钟前
Django 6.1 RC1 实测:FETCH_PEERS 两条 SQL 解决 N+1,select_related 还需要吗?
后端·python·django
脚踏实地皮皮晨44 分钟前
002002002_DepandencyObject类2
开发语言·windows·算法·c#·visual studio
玉鸯1 小时前
Agent 的任务编排:从 System Prompt 到 Hierarchical Multi-Agent
python·llm·agent
Python私教1 小时前
Django 6.0 自带 Tasks 到底能不能替代 Celery?跑完 3 组后台任务后我有答案了
后端·python·django
练习时长一年1 小时前
@SneakyThrows注解
开发语言
我的xiaodoujiao1 小时前
快速学习Python基础知识详细图文教程14--模块
开发语言·python·学习·测试工具