新手学python运算符(Python教程第17篇比较运算符)
新手学python运算符(Python教程第17篇比较运算符)
2024-11-08 06:08:12  作者:蛊心最后  网址:https://m.xinb2b.cn/know/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篇 变量赋值

  • 年轻女生创业适合做什么(没学历的女生想创业)
  • 2024-11-08没学历的女生想创业冷爱问答专栏开设十年来,收到过各式各样的投稿,我发现很多投稿的问题其实已经远远超越了爱情的范围因此,我一直在努力总结影响人生幸福的问题究竟有哪些最后,我梳理出最影响人生幸福的三个领域,它们分别是:财富。
  • 驾驶证遗失能在异地补办吗(在异地可以直接补证吗)
  • 2024-11-08在异地可以直接补证吗驾驶证异地补证仅限C证,如果是A证或者是B证的是无法异地换证的在当地的车管所填写机动车驾驶证申请表,进行补领申请,工作人员会在后台查询到驾驶证信息,完成补证的业务处理要注意的是驾驶证补证因为遗失造成的。
  • 手机ram rom区别是什么(手机中的RAM和)
  • 2024-11-08手机中的RAM和1904订阅号现在公众平台开放免费问答如果你有关于手机或其他数码产品方面的问题,欢迎来提问买手机怕被坑?小米、魅族、华为、一加...该买哪个?想配台电脑但是什么都不懂?数码产品琳琅满目什么时候买才不亏。
  • 研学夏令营能改变什么(夏令营和预推免分别是什么)
  • 2024-11-08夏令营和预推免分别是什么马上开学了,大三的保研党们警觉起来了,要开始准备夏令营和预推免了!!夏令营和预推免是什么预推免和夏令营,都是高校提前确定录取学生的一种方式我们每年保研志愿,都在全国推免系统中统一填写,9月28日凌晨开。
  • 新郎逃婚留新娘在现场遭人嘲讽(男子结婚新娘房间人太多)
  • 2024-11-08男子结婚新娘房间人太多中国自古以来都有闹洞房的习俗,至于怎么闹,每个地方都有不同的习俗一般来说只要别太过了,热闹热闹,大喜之日也不会有人计较什么,但是有些地方本身的习俗就已经过时而且非常危险,还有一些人会在闹洞房的时候失去。
  • 最近倒闭的国产手机(又一国产手机没落)
  • 2024-11-08又一国产手机没落其实除OPPO和vivo主打女性市场以外,在很早之前还有一个品牌同样也是主打女性市场,该品牌便是朵唯可能很多消费者对它很陌生,甚至没有听说过这个名字其实早在智能手机刚刚起步的时代,朵唯便是引领者之一,。
  • 血液比较稠是什么原因(身体用这4个症状提醒你)
  • 2024-11-08身体用这4个症状提醒你是新朋友吗?记得点击蓝字关注我喔~血液粘稠在医学上叫做高黏血症,主要在老年人身上出现,其实很多人都有血液粘稠的症状,只不过症状较轻的患者通过日常的调养就能基本恢复,但对于症状较严重的患者特别是中老年人。
  • 锐界l混动系统试驾(25万市场终于有了像样的混动大7座SUV)
  • 2024-11-0825万市场终于有了像样的混动大7座SUV对于经常有大家庭出行需求的用户来说,5座车型已经无法较好地满足他们的日常代步需求,他们中的不少人更青睐于7座车型而市面上的合资7座车,售价动辄二三十万元,让许多消费者觉得是个比较大的负担而最近的长安福。
  • 六偏磷酸钠用处(六偏磷酸钠有什么用途)
  • 2024-11-08六偏磷酸钠有什么用途主要用于食品及工业行业其中食品行业应用主要为:·六偏磷酸钠用于肉制品、鱼肉肠、火腿等,能提高持水性,增高结着性,防止脂肪氧化;·用于豆酱、酱油能防止变色,增加粘稠性,缩短发酵期,调节口味;·用于水果饮。
  • 阎王叫你三更死绝不留你到五更的更 阎王叫你三更死
  • 2024-11-08阎王叫你三更死绝不留你到五更的更 阎王叫你三更死刘江老师饰演的阎王阎王,谁听起来都害怕,提起来就想起刘江老师在西游记中的扮相阎王掌管人们的寿命和生死,在我国民间可谓家喻户晓,他的原型是印度神话中的“阎摩罗王”,在早期佛教和印度教神话中阎王是冥界唯一。