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
相关推荐
weixin_4172570612 分钟前
Qt解决不同线程,调用对方的函数
开发语言·qt
宸津-代码粉碎机15 分钟前
Redis 进阶:跳出缓存局限!7 大核心场景的原理与工程化实践
java·人工智能·redis·python
极客代码29 分钟前
第五篇:后端优化——位姿图的灵魂--从图优化到滑动窗口的联合状态估计
python·深度学习·计算机视觉·视觉里程计·slam·回环检测·地图构建
梦终剧37 分钟前
【Android之路】 Kotlin 的 data class、enum class、sealed interface
android·开发语言·kotlin
半夏知半秋41 分钟前
基于skynet框架业务中的gateway实现分析
服务器·开发语言·后端·学习·gateway
程序员小白条2 小时前
度小满运维开发一面
java·运维·python·职场和发展·运维开发
全栈派森5 小时前
BI数据开发全攻略:数据仓库、模型搭建与指标处理
数据仓库·python·程序人生
铁手飞鹰6 小时前
从零复现论文:深度学习域适应1
linux·pytorch·python·深度学习·ubuntu·ai·迁移学习
Leo655357 小时前
JDK8 的排序、分组求和,转换为Map
java·开发语言
磨十三8 小时前
C++ 标准库排序算法 std::sort 使用详解
开发语言·c++·排序算法