新手学python运算符(Python教程第17篇比较运算符)
新手学python运算符(Python教程第17篇比较运算符)
2024-11-25 10:12:41  作者:蛊心最后  网址:https://m.xinb2b.cn/tech/ayz167252.html

上几篇介绍了Python中的if 判断语句和while无限循环语句。这些语句都需要使用条件表达式来控制流程分支。而条件表达式的运算逻辑是由比较运算符提供的。所以本文开始介绍比较运算符。

比较运算符又称关系运算符。可用于数据之间的比较,通常的用法是比较两个数值的大小,但也可以用于比较字符串或对象的值是否相同。

字符串也可比较大小,这时比较的是字符串在计算机中的编码顺序,比如可能是ASCII(美国标准信息交换代码)或UTF-8编码。

比较运算符的返回值是bool型,即只有 True 和 False (真和假)两种可能的取值。

比较运算符列表

Python中的比较运算符有以下7个:

运算符

功能

示例

==

等于。比较对象是否相等

1 == 2 返回 False

!=

不等于。比较两个对象是否不相等

1 != 2 返回 True

<>

不等于。比较两个对象是否不相等。Python3 已废弃。这个运算符类似 !=

1 <> 2 返回 True

>

大于。 返回第一个对象是否大于第二个对象

1 > 2 返回 False

<

小于。返回第一个对象是否小于第二个对象

1 < 2 返回 True

>=

大于等于。返回第一个对象是否大于等于第二个对象

1 >= 2 返回 False

<=

小于等于。返回第一个对象是否小于等于第二个对象

1 <=2 返回 True

其中<>在Python2中是合法的,但在Python3中这种用法会产生语法错误“SyntaxError: invaPython”。比如在Python2.7.16中,表达式“1<>2”返回True,而在Python3.10.4中运行结果是这样的:


取而代之,应该使用下面的形式:


当然,这种用法在Python2.7.16中也是允许的。所以在Python3中,可用的比较运算符其实只有6个,但在Python2中,这7个全部可用。

另一个需要注意的是,比较运算符两端可以有多余的空格(当然也可以没有),但是中间不能有空格((指两个符号的运算符==、!=、<>>、>=、<=),会产生语法错误“SyntaxError: invalid syntax”。下面是>=在Python3.10.4中的运行实例(第1个中间有空格,其余的在别的地方有空格):


其他两个符号组成的比较运算符也是如此。

等于比较运算符

需要特别说明的比较运算符是等于比较运算符,因为一个等号已被用作最为重要的赋值运算符了,相对次要的等于比较操作就使用两个等于号表示,这是C系列语言的通用做法,C、C 、C#、Java、JavaScript等语言中均是如此。

不过在B系列语言中,比如Visual Basic、VBScript、按键精灵、易语言中,等于比较运算符和赋值运算符都使用一个等于号表示——系统根据表达式出现的位置自动判断是赋值运算符还是等于比较运算符。

B系列语言的赋值运算符没有返回值,所以可以根据是否需要返回值,来判断表达式中的等于号是比较运算符还是赋值运算符。

在C系列语言中,赋值运算符也是有返回值的,它返回赋值运算符右边的值,所以C系列语言中无法根据是否需要返回值来判断表达式中的等于号是比较运算符还是赋值运算符,这是赋值号与等于号使用两套不同符号的原因。

Python采用了C系列语言的赋值运算符和等于比较运算符不同的语法,但是它的赋值运算符和B系列语言一样,没有返回值:


注:Python是个另类,它的缩进机制是独树一帜,Python既不属于C系列语言,与B系列语言的区别也很大,可以归类于第三个系列语言。当然,还有第四、五等类语言。

最后,记述一下Python中的等于比较运算符的表示方法和示例。

两个等于号(==)可用于判断两个数值是否相等,也可判断两个字符串是否一样。

下面是判断两个字符串是否相等的实例:


字符串的比较规则

相对于数值的比较大小来讲,字符串的比较规则要复杂一些。它的比较规则是这样的:

1、先比较字符串中的第1个字符的ASCII,ASCII较小的字符串较小,比如A的ASCII是65,B是66,所以A小于B,又因为a的ASCII为97,所以B小于a,注意大小写的不同,下面是示例:


2、如果第1个字符就不相等,不论哪一方后续还有没有字符,都会结束判断,字符串的整体大小由第一个字符串的大小决定,所以aa小于b、bb大于a:


3、如果第1字符相等,则比较下一个,不等就结束比较,相等就一直下一个,直到末尾,如果一方字符较小,则字符串值较小,比如bbc大于bba,也大于bb:


比较运算符的优先级

所有比较运算符的优先级都比逻辑运算符的要高。下面的示例中先计算小于号,再计算not:


下面的例子先计算两个比较运算符,最后再计算and逻辑与:


Python支持的特殊形式

在大多数编程语言中,形如下面的使用类似数学中多个连续比较运算符的表达式是非法的,但在Python中是合法的:


大多数编程语言中只支持下列形式,Python也支持:


Python支持任意多个连续的比较运算符:


温故知新

Python教程:第16篇 break 和 continue 语句

Python教程:第15篇 while 循环语句

Python教程:第14篇 for 循环语句

Python教程:第13篇 if 语句

Python教程:第12篇 流程控制结构

Python教程:第11篇 变量赋值

  • 湖大土木与中南比较(湖大土木学院一年转出98人)
  • 2024-11-25湖大土木学院一年转出98人湖南大学土木类专业,一直以来都是该校的王牌专业,在2022年土木工程专业学科评价中,湖南大学该专业被评为A级,排名雄居第8名排在湖南大学前面的有同济大学、东南大学、清华大学、浙江大学、哈尔滨工业大学、。
  • 生父 尊皇考 帝后(父太皇子太皇一皇不如一皇)
  • 2024-11-25父太皇子太皇一皇不如一皇宋孝宗赵昚画像​乾道七年(公元1171年)二月,宋孝宗赵昚[shèn]立第三子赵惇为太子赵惇最初还能小心翼翼服侍父皇,表现出孝子的耐心,对老爹毕恭毕敬,唯命是从宋高宗赵构画像​淳熙十四年(1187年)。
  • 20岁学汽修好吗(25岁学个汽修技术还晚吗)
  • 2024-11-2525岁学个汽修技术还晚吗在目前看来汽修行业的前景十分不错,随着我国有车一族越来越多,都汽修行业的人才需求量也越来越大,掌握好汽修技术,在未来不论找工作还是薪资待遇都是十分方便与丰厚的如今,我国汽车行业发展十分迅猛,汽车保有量。
  • 水浒传前5门武功最厉害的是谁(水浒传中最强的武将并非卢俊义)
  • 2024-11-25水浒传中最强的武将并非卢俊义在水浒世界中,卢俊义、史文恭、杜壆代表着最高战力卢俊义战绩出彩,棍棒天下无双,丈二钢枪无敌手史文恭和杜壆也是各有精彩战绩,史文恭曾凭手中神枪二十回合杀败五虎之一的秦明,杜壆手中丈八蛇矛战卢俊义五十回合。
  • 宾馆钟点房是干啥的(开钟点房的人都在干嘛)
  • 2024-11-25开钟点房的人都在干嘛前言随着人民生活水平的提高,越来越多的人开始喜欢外出旅游,如果去一些比较远的地方旅游,还要去住酒店说起酒店,都是给一些外地人或者是旅途劳累的人一个临时住所,酒店的价格也因为条件和时间的不同而有一定的差。
  • 倒立的益处有哪些(倒立的优点)
  • 2024-11-25倒立的优点倒立的时候能降低心脏给大脑运送血的负担,大脑供血量充足,氧气和营养更能够遍布脑细胞中,大脑就会变得更快更灵活这样就可以锻炼大脑倒立的过程中需要双手支撑身体,而小脑的功能主要是维持身体的平衡,因此在练习。
  • tnt时代少年团都多大了(时代少年团团名正式公布)
  • 2024-11-25时代少年团团名正式公布时代少年团10月11日,由马嘉祺、丁程鑫、宋亚轩、刘耀文、张真源、严浩翔、贺峻霖七人组成的团体正式公布团名:时代少年团,英文名为TeensinTimes,缩写为“TNT”官方解释“TNT”在化学中代表。
  • 单依纯邓紫棋同唱一首歌(同为现象级歌手)
  • 2024-11-25同为现象级歌手2014年的我是歌手栏目,活力四射的邓紫棋一出场引燃全场,一首《泡沫》红遍大江南北、大街小巷,自此邓紫棋一路高歌猛进,成为华语乐坛炙手可热的小天后2020年中国好声音,年仅18岁的单依纯清纯登场,一首。
  • 王禹偁的春居杂兴二首(相逢山城菊满栏)
  • 2024-11-25相逢山城菊满栏原创文/董元奔(江苏宿迁)(1)【见访山围郡,相逢菊满栏】出自《和朱岩留别》【董生制绝句《诗约》】约叙山城最是该,登山携酒不相猜犹当漫岭黄花绽,且辩东郊晋叟才(2)【产从南国胜桃李,携去东山隐薜萝】出。
  • 建筑施工设计实务教学(二百多个土木动画演示)
  • 2024-11-25二百多个土木动画演示一建实务教材中描述的考点实在是晦暗难懂,虽有就有不少的一建名师大咖,结合自己的教学检验和工地现场施工经验,把一建实务各科的考点整理成了一建各科实务施工动画演示,直接3D模式动画教学,简单直观好记,一建。