广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python等值和大小比较
  • 128
分享到

python等值和大小比较

大小python 2023-01-30 23:01:29 128人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

等值、大小比较 在python中,只要两个对象的类型相同,且它们是内置类型(字典除外),那么这两个对象就能进行比较。关键词:内置类型、同类型。所以,两个对象如果类型不同,就没法比较,比如数值类型的数值不能和字符串类型的数值或字母比较。 对

等值、大小比较

python中,只要两个对象的类型相同,且它们是内置类型(字典除外),那么这两个对象就能进行比较。关键词:内置类型、同类型。所以,两个对象如果类型不同,就没法比较,比如数值类型的数值不能和字符串类型的数值或字母比较。

对于Python中的等值、不等值、大小比较的规则为何如此,以后学了Class的运算符重载,自然就会知道。

其实自定义的类型(python 3.x中类Class就是类型)也可以进行比较,只不过要对类的比较操作符进行运算符重载。这些以后再说,这里先看内置类型的比较。

比较操作符有:

==  !=  <  <=  >  >=

例如,下面的比较全部返回True。

bool(1 < 2)
bool('a' < 'c')
bool('A' < 'a')    # 字符大小:A < Z < a < z

bool([1,2,2] < [1,2,3])
bool((1,2,2) < (1,2,3))
bool({1,2,2} < {1,2,3})

python中同类型的内置类型对象(字典除外),都是从左开始,一个一个元素向后比较,就算中间遇到嵌套的容器结构(如list/tuple/Set),也会递归到嵌套的结构中去一个个比较。

>>> bool([1,2,[3,3]] < [1,2,[3,4]])
True

注意,None对象只能参与等值和不等值比较,不能参与大小比较。

>>> None == None
True
>>> None != None
False
>>> None <= None
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: '<=' not supported between instances of 'NoneType' and 'NoneType'

python支持连续比较,连续比较时等价于使用and运算。例如:

a < b < c    等价于  a < b and b < c
a < b > c    等价于  a < b and b > c
a == b < c   等价于  a == b and b < c

一定要注意连续比较时的逻辑。例如1 == 2 < 3返回False,但它等价于1 == 2 and 2 < 3,而不是先评估1==2得到False,再将比较的结果与后面的做比较,即等价于False < 3,这意味着0<3,这实际上是返回True的。

>>> 1 == 2 < 3
False

>>> (1==2) < 3
True

连续比较是一种比较语法,它不仅限于数值的连续比较,还支持其它类型。比如:

>>> "ac" > "ab" < "ad"
True

is 和 ==

有两种比较数据对象是否相等的方式:"=="和"is",它们的否定形式分别为"!="和"is not"。

它们都是比较表达式,但却是完全不同的比较方式:

  • "=="和"!="符号比较的是数据的值是否相等、相同
  • "is"比较的是两个数据对象在内存中是否是同一个数据对象。换句话说,比较的是内存地址

等号比较很容易理解,只要值相等就为True,否则为False。

is比较的是内存中的数据对象。例如:

>>> a = 1000
>>> b = 1000
>>> a == b
True
>>> a is b
False

a和b在数值上是相等的,所以a == b返回True。但它们分别指向的内存中的数据对象1000,却不是同一个数据对象,所以a is b返回False。如下图,内存中有两个1000。

如果是下面这种情况:

>>> a = 1000
>>> b = a
>>> a is b
True

结果中a is b返回True,因为b = a是将a中保存的1000的地址赋值给b,使得b中也保存1000地地址。如下图,内存中只有一个1000,但是a和b都指向这个1000。

is测试还有些特殊情况,另外,关于b = a为什么赋值的是a中保存的地址,这里不对此展开描述,在后面的文章会非常详细地进行解释。当然,放在后面并不是因为难,而是文章内容安排的先后顺序,有需求可以先看看:

  • 变量和变量赋值的几种形式
  • 按引用赋值和深、浅拷贝

--结束END--

本文标题: python等值和大小比较

本文链接: https://www.lsjlt.com/news/180496.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python等值和大小比较
    等值、大小比较 在python中,只要两个对象的类型相同,且它们是内置类型(字典除外),那么这两个对象就能进行比较。关键词:内置类型、同类型。所以,两个对象如果类型不同,就没法比较,比如数值类型的数值不能和字符串类型的数值或字母比较。 对...
    99+
    2023-01-30
    大小 python
  • Python比较日期大小
    Python比较日期大小 文章目录 Python比较日期大小一、使用比较运算符二、使用date模块进行比较三、使用第三方库进行比较总结 一、使用比较运算符 Python提供了比较运算符...
    99+
    2023-10-26
    python
  • python比较时间大小
    a = '2017-10-18 22:17:46' b = '2017-10-19 22:17:40' print a > b # 结果False 解释:python中字符串的大小比较,是按照字符顺序,从前往后依次比较字符的...
    99+
    2023-01-31
    大小 时间 python
  • Mybatis使用大于等于或小于等于进行比较
    目录前言常见转义符前提声明使用CDATA 区段测试总结前言 今天有一个需求,把之前的判断逻辑进行修改,之前我是用大于(>)小于(<)进行对比的,但是今天让改成大于等于(&...
    99+
    2023-03-19
    Mybatis 大于等于 Mybatis 小于等于
  • python怎么比较函数大小
    python中使用cmp函数对函数的大小进行比较,具体方法如下:cmp():cmp()函数的作用是比较2个对象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1,常用于比较两个函数的大小。cmp()...
    99+
    2022-10-08
  • python中用cmp比较字典大小
    字典长度字典dic1,dic2 值,以及比较结果如下:可知字典长度越长,字典就大。疑问一:如果长度不一样呢,长度比较长但键值比较小,那个大呢?答案:字典长度是第一比较项,长度长的就大长度相等,比较键  疑问二:如果键不一样且比较小,但是va...
    99+
    2023-01-31
    中用 字典 大小
  • Mybatis怎么使用大于等于或小于等于进行比较
    这篇文章主要讲解了“Mybatis怎么使用大于等于或小于等于进行比较”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Mybatis怎么使用大于等于或小于等于进行比较”吧!常见转义符常见的一些转...
    99+
    2023-07-05
  • Java--比较日期大小
    有两个日期字符串,如: String beginTime = new String("2021-10-01 10:22:33");String endTime = new String("2021-11-01 11:22:22"); 需要比...
    99+
    2023-09-22
    Date
  • javascript中的等值比较怎么理解
    本篇内容介绍了“javascript中的等值比较怎么理解”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2022-10-19
  • jquery中如何比较大小
    这篇文章主要介绍“jquery中如何比较大小”,在日常操作中,相信很多人在jquery中如何比较大小问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”jquery中如何比较大小”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-07-05
  • python怎么比较数组中数的大小
    在 Python 中,可以使用内置的 `max()` 和 `min()` 函数来比较数组中数的大小。这两个函数分别返回数组中的最大值...
    99+
    2023-09-29
    python
  • C#中DateTime.Compare()比较时间大小
    目录语法参数返回值示例比较 DateTime 的两个实例,并返回它们相对值的指示。 语法 public static int Compare ( DateTime t1, ...
    99+
    2023-05-17
    C# DateTime.Compare()比较时间 C# DateTime.Compare()
  • JS如何比较日期大小
    这篇文章主要介绍“JS如何比较日期大小”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JS如何比较日期大小”文章能帮助大家解决问题。 1、年-月-日 时-分-秒 ...
    99+
    2022-10-19
  • Javadouble类型比较大小详解
    目录Java double类型比较大小一、问题描述二、解决方法关于两个double类型数的大小判断Java double类型比较大小 一、问题描述 把从数据库里查询出来的数据,金额小...
    99+
    2022-11-12
  • 字符串如何比较大小
    字符串比较大小的步骤:1、将要比较的两个字符串分别赋给两个变量;2、比较两个字符串的长度,较短的字符串将被认为是较小的字符串;3、如果长度相同,逐个比较它们的字符;4、从字符串的第一个字符开始,比较两个字符串的ASCII值;5、如果ASCI...
    99+
    2023-08-18
  • Shell中比较大小的方法
    本篇内容主要讲解“Shell中比较大小的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Shell中比较大小的方法”吧!代码如下:#!/bin/bashif [ $1 -gt $2 ]then...
    99+
    2023-06-09
  • c语言怎么比较大小
    c语言通过关系操作符、对字符进行比较、字符串和数组来比较大小。1、关系操作符,如大于(>),小于(<),大于等于(>=),小于等于(<=),等于(==)和不等于(!=);2、对字符进行比较,在C语言中,字符变量以AS...
    99+
    2023-08-09
  • python 如何比较两集合的大小关系
    我就废话不多说了,大家还是直接看代码吧~ print({1, 2} > {1}) # True 补充:Python——集合是一个非常之牛逼的数据比较方式 什么是集合?对...
    99+
    2022-11-11
  • 怎么在python中比较字符串的大小
    怎么在python中比较字符串的大小?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。python有哪些常用库python常用的库:1.requesuts;2.sc...
    99+
    2023-06-14
  • java中的日期和时间比较大小
    目录日期和时间比较大小java中日期如何比较大小java中时间如何比较大小比较两个日期时间,比较两个日期大小LocalDateTimeDateTimeFormatter日期和时间比较...
    99+
    2022-11-13
    java日期 java时间 日期时间
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作