Python 比较运算符

比较运算符

比较运算符,顾名思义,它用于对常量、变量或表达式的结果进行大小、是否相同的比较。比较的结果为 bool 类型,如果结果成立,则返回 True(真),反之则返回 False(假)。

以下是 Python 所有的比较运算符。

比较运算符 说明
> 大于,如果>前面的值大于后面的值,则返回 True,否则返回 False。
< 小于,如果<前面的值小于后面的值,则返回 True,否则返回 False。
== 等于,如果==两边的值相等,则返回 True,否则返回 False。
>= 大于等于(等价于数学中的 ≥),如果>=前面的值大于或者等于后面的值,则返回 True,否则返回 False。
<= 小于等于(等价于数学中的 ≤),如果<=前面的值小于或者等于后面的值,则返回 True,否则返回 False。
!= 不等于(等价于数学中的 ≠),如果!=两边的值不相等,则返回 True,否则返回 False。
is 判断两个变量所引用的对象是否相同,如果相同则返回 True,否则返回 False。
is not 判断两个变量所引用的对象是否不相同,如果不相同则返回 True,否则返回 False。

其中,>、<、==、>=、<=、!=这几种运算符很好理解,与数学中的比较符含义相同。

而is、is not运算符参与比较的所谓的引用的对象指的是什么呢?可能初学者难以理解,接下来我们将讲解 == 与 is 的区别,当您理解之后,自然明白 != 与 is not之间的区别了。

== 和 is 的区别

我们在学习变量的存储机制时了解到,变量是存储在内存的存储单元中的,存储单元由类型、值、内存地址(也称为标识)组成的。

那么 == 和 is 的区别,简单来说,== 比较的是两个变量的存储单元中值是否相等,而 is 比较的是两个变量的存储单元内存地址是否相同。

我们举个例子:

a='Python技术站'
b='Python技术站'

print(a==b)
print(a is b)

print(f'变量a的内存地址:{id(a)},变量b的内存地址:{id(b)}'))

运行结果:

True
False

由此例子可以看到,由于变量a和b的值都是'Python技术站',值相同,所以用 == 比较的结果是 True。

由于变量a和b存储的内存地址不同,所以使用 is 比较的结果是 False。

Python有个函数 id() ,可以输出变量的内存地址,我们分别打印变量a和b的地址如下:

print(id(a))
print(id(b))

输出结果:

18333968
18334080

可以看到,变量a和b的内存地址是不同的。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 比较运算符 - Python技术站

(1)
上一篇 2022年12月19日
下一篇 2023年1月9日

相关文章

  • Python 使用import导入模块的5种方式!

    在 Python 中,模块是一个包含一些已定义变量、函数、类等的文件。它提供了一种组织代码的方式,让我们可以更好地维护和重用代码。为了使用一个模块,我们需要将它导入到我们的程序中。Python 中导入模块的方法有很多种,这里我们将详细讲解 import 语句的用法。 Python 中使用 import 语句导入模块的基本语法如下: import module…

    2023年2月25日
    00
  • Python super()函数:让子类访问父类方法

    在 Python 中,super() 是一个内置函数,用于访问父类的方法或属性。使用 super() 可以方便地调用父类的方法,而无需知道父类的名称。在本篇文章中,我们将深入了解 super() 的用法和内部实现。 为什么需要 super() 在 Python 中,当一个类继承自另一个类时,子类可以覆盖父类的方法。这种方法覆盖的方式被称为方法重写。例如: c…

    2023年2月23日
    00
  • Python if else语句嵌套实例说明

    在Python中,if语句可以嵌套,这允许您编写更复杂的条件语句。if语句的嵌套语法与其他编程语言非常相似,即在一个if语句块内嵌套另一个if语句块。 以下是一个示例: age = 20 if age > 18: print("成年人") if age > 21: print("可以购买酒精饮料") eli…

    2023年2月15日
    00
  • Python linecache模块详解:读取文本文件的某一行

    Python的linecache模块是一个内置的模块,用于在Python中读取文本文件的某一行。它可以实现高效的文件行缓存和缓存行号和行内容。 linecache模块提供了3个函数来读取文本文件的行: linecache.getline(filename, lineno[, module_globals]):返回指定文件中的指定行,lineno为行号,从1开…

    2023年2月25日
    00
  • 如何创建并导入 Python 包?

    Python中的包(Package)是一种组织Python模块的方式,用于更好地组织和管理模块。本质上,包就是一个文件夹,它包含一组模块和一个名为init.py的文件,该文件必须存在于包的根目录下,以指示该文件夹是一个Python包。 下面介绍如何创建和导入Python包: 创建Python包 创建Python包的步骤如下: 创建一个文件夹,并将其命名为包名…

    2023年2月25日
    00
  • Python中的集合(set)是什么?

    集合是Python中的一种数据结构,与列表、元组、字典等数据结构不同,它没有重复的元素。它是一种可变的数据类型,可以在运行时动态添加或删除元素。集合的元素可以是任何类型,但通常是数字、字符串或其他不可变类型。 集合有以下几个特征: 集合中的元素是无序的,也就是说,每次创建集合时,集合中的元素的顺序可能不同。 集合中的元素是唯一的,也就是说,集合中的元素不能重…

    2023年2月14日
    00
  • Python try except else使用方法

    在Python中,try…except…else是一种异常处理结构,可以在程序可能引发异常的代码段中加入try语句,在其中添加except语句,以处理可能出现的异常。else子句则是在try子句成功执行后,没有异常发生时执行的代码块。 具体来说,try语句中包含可能会抛出异常的代码,如果在执行这些代码时发生了异常,则会跳转到except代码块中处理异…

    2023年2月26日
    00
  • Python __dict__是什么?有什么作用?

    在 Python 中,每个对象都有一个 dict 属性,它是一个字典类型,用于存储对象的所有属性和方法。当我们定义一个类时,类中定义的所有变量和方法都存储在 dict 中。在实例化对象之后,对象中的所有变量和方法都存储在其 dict 属性中。 在 Python 中,dict 属性是一个动态属性,它可以在运行时被修改。我们可以通过以下方式访问一个对象的 dic…

    2023年2月23日
    00

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

合作推广
合作推广
分享本页
返回顶部