Python基础-04(比较运算符、逻辑运算符)
2024-01-02 06:45:10
前言
1、比较运算符内容很简单,就是简单的数学逻辑
2、逻辑运算符理解思考一下即可,要摸透逻辑运算符的执行逻辑,稍微花那么一丢丢时间着重看一下
下面都是我个人的理解,如有建议,必虚心采纳
一、比较运算符
'''
逻辑方面就是正常的数学逻辑,稍微注意一些python特有的的比较运算符的细节即可
不需要过于深究
'''
'''
关于返回值 比较运算符最终返回的是布尔类型的变量(True和False)
比较运算符两边的变量 符合对应比较运算符的逻辑 返回True;反之为False
'''
# ==(等于)
'''
这里稍稍提示一下 == 和 =(赋值运算符)两者完全没有任何关系 千万别搞错了
'''
print(5 == 5) # True
# !=(不等于)
'''
python2版本的不等于是 <> python3现已弃用
'''
print(5 != 5) # False
# >(大于)
print(5 > 5) # False
# <(小于)
print(5 < 5) # False
# >=(大于等于)
print(5 >= 5) # True
# <=(小于等于)
print(5 <= 5) # True
二、逻辑运算符
一共三个 稍微思考一下就很好理解 也是很容易明白的逻辑
and or not
对应中文含义 与 或 非
1.and(与)
'''
and 与 两边都是True,结果才为True(x and y,x和y都为True,结果为True)
'''
print((10 == 10) and (5 == 5)) # True and True True
print((10 == 10) and (5 == 4)) # True and False False
2.or(或)
'''
or 或 只要有一边为True,结果就为True(x or y,x和y其中一个为True,结果就是True)
'''
print((10 == 10) or (5 == 4)) # True or False True
print((10 == 9) or (5 == 4)) # False or False False
3.not(非)
'''
not 非(取反) 若x为True,则not x为False;若x为False,则not x为True;
'''
print(not (10 == 10)) # not True False
print(not (10 == 9)) # not False True
4.逻辑运算符的细节(短路原则)(着重理解)
'''
首先 明确逻辑运算的执行顺序 从左到右
'''
# and短路
'''
什么是短路?就是执行到某个步骤时不符合逻辑要求就中断停止
'''
print(True and print('python 1')) # python 1
print(False and print('python 2')) # None
'''
总结:
and运算符前面的结果为False时,直接停止,后面的代码就不再继续执行了
'''
# or短路
print(True or print('python 1')) # None
print(False or print('python 2')) # python 2
'''
总结:
or运算符前面的结果为True时,直接停止,后面的代码就不再继续执行了
因为or 只要其中一个True 它结果就是True了 没有必要继续执行后面的内容
'''
# 扩展(关于提到逻辑运算符两边存在非布尔型变量的问题)
'''
其实吧 逻辑运算符根本没有去强调运算符两边的数据内容类型 可以是布尔类型 常量 字符串 打印啊什么的
正常的语句基本都可以
关键在于必须遵守这个短路原则(重要):
其实逻辑运算符就是返回最终执行到的步骤的结果,说人话就是,执行到哪儿,就返回哪儿的值
'''
'''
and具体讲解
广义:and运算符两边都要是True,结果才为True
狭义:更准确的说法应该是,从左到右的执行过程中,执行至False时,短路停止执行,最终结果为 停止执行处的结果
'''
# 例
print(True and True) # True 没有遇见False,执行至最后一个数据停止,所以输出True
print(False and True) # False 遇见False,直接短路,停止执行,所以输出False
print(1 and 3) # 3 没有遇见False,执行至最后一个数据停止,所以输出3
print(1 and "hello world") # hello world 没有遇见False,执行至最后一个数据停止,所以输出hello world
print('--------------------------------------------------------------------------1')
'''
or具体讲解
广义:or运算符只需要其中一边为True,结果就为True
狭义:更准确的说法应该是,从左到右的执行过程中,执行至非False时,短路停止执行,最终结果为 停止执行处的结果
'''
# 例
print(True or True) # True 执行至第一个True就是非False,直接短路,停止执行,所以输出True
print(False or True) # True 执行至第二个True就是非False,直接短路,停止执行,所以输出True
print(1 or 3) # 1 执行至1,非False,直接短路,停止执行,所以输出1
print("hello world" or True) # hello world 执行至"hello world",非False,直接短路,停止执行,所以输出hello world
'''
强调一下两个细节
1、(非False和True的不同)
非False的范围更大,也就是说只要不是False,都属于非Fasle(包括True,除了False以外的所有东西)
而True,就仅仅只是个True
2、(逻辑运算符的执行顺序,从左至右)
3、(逻辑运算符的优先级 not > and > or)
'''
总结
强调理解逻辑运算符的短路原则,虽然说平时运用到的都是广义上的逻辑运算符的逻辑,就是看两边有没有True或者False啥的
其实稍微认真花个十几分钟看一下然后稍微思考一下,很容易就明白的原理,建议认真看下逻辑运算符的细节~
文章来源:https://blog.csdn.net/qq_45657848/article/details/135331522
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!