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
相关推荐
wang3zc1 分钟前
JavaScript中函数声明位置对解析器预编译的影响
jvm·数据库·python
小白学大数据3 分钟前
JS 混淆加密下的 Python 爬虫解决方案
javascript·爬虫·python
yexuhgu28 分钟前
C#怎么使用Tuple元组返回多个值_C#如何简化方法返回值【基础】
jvm·数据库·python
加号336 分钟前
【Qt】 应用程序发布:依赖库拷贝与部署指南
开发语言·qt
lulu121654407840 分钟前
JetBrains IDE 终极AI编程方案:CC GUI插件让Claude Code和Codex丝滑运行
java·ide·人工智能·python·ai编程
qq_414256571 小时前
JavaScript中类继承中super关键字的调用执行逻辑
jvm·数据库·python
('-')1 小时前
八股复习2:Java Array list和Linked list
java·开发语言
tanis_20771 小时前
MinerU2.5-Pro 中文 PDF 识别准确率全解:OmniDocBench v1.6 权威基准数据
人工智能·python·pdf
小黄人软件1 小时前
C++读写编辑CSV文件示例源码 用于数据导入导出,比Excel好使
开发语言·c++·excel
郭涤生1 小时前
C++各个版本的性能和安全性总结
开发语言·c++