Python 比较运算符

yizhihongxing

比较运算符

比较运算符,顾名思义,它用于对常量、变量或表达式的结果进行大小、是否相同的比较。比较的结果为 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 8种常见的异常类型与原因

    总的来说,编写程序时遇到的错误可大致分为 2 类,分别为语法错误和运行时错误。 语法错误。语法错误,也就是解析代码时出现的错误。当代码不符合 Python 语法规则时,Python解释器在解析时就会报出 SyntaxError 语法错误。一般来说,这种错误IDE是可以检测出来并进行提示的,所以这种错误比较容易发现。 运行时错误。即程序在语法上都是正确的,但在…

    2023年2月26日
    00
  • Python查询列表元素的5种常用方法

    Python 中查找列表中元素的函数是编程语言中常用的功能。列表是 Python 中一种常用的数据类型,表示一组有序的元素。因此,快速查找列表中的元素非常重要。 在 Python 中,有多种方法可以查找列表中的元素,包括以下函数: in 运算符 in 运算符用于快速检查列表中是否存在某个指定的元素。语法如下: if element in list: # do…

    2023年2月14日
    00
  • 实现Python封装的4种常用方法!

    封装(Encapsulation),即在设计类时,刻意地将一些属性和方法隐藏在类的内部,这样在使用此类时,将无法直接以“类对象.属性名”(或者“类对象.方法名(参数)”)的形式调用这些属性(或方法),而只能用未隐藏的类方法间接操作这些隐藏的属性和方法。 在Python中,封装是一种面向对象编程中的重要概念,它是指将对象的内部状态和行为隐藏起来,只暴露必要的接…

    2023年2月22日
    00
  • Visual Studio Code安装教程

    Visual Studio Code,简称VS Code,是由微软公司开发的一款IDE工具。 所谓的IDE,其实是集成开发环境(英文的缩写)。有关IDE的更多内容,可参考此文章。 VS Code是一个轻量型的开发工具,拥有强大的插件库。只要你安装了合适的插件,就可以使用任何编程语言开发程序。 不仅如此,VS Code还支持跨平台开发程序,可以安装在Windo…

    2022年11月4日
    00
  • 为什么选择Python入门

    这个星球的编程语言有数百上千种,能够称为热门的也只有那十几种而已,比如C、C++、Java、C#、PHP等,这些编程语言也都十分火爆。 但对于新人来讲,尤其是现阶段对编程语言的优劣还没有什么概念的时候,选择哪门编程语言进行入门,是需要特别慎重的。作为站长本人,我为什么建议你选择Python作为入门语言,本章将带你一起探讨。 在此之前,我觉得有必要讲一下本教程…

    2022年10月25日
    00
  • Python pickle函数详解:对象的持久化存储

    Python的pickle模块是一个用于序列化和反序列化Python对象的标准模块。它能够将Python对象转化成一系列的字节流,以便将其保存到文件或网络传输,同时也可以将字节流反序列化为Python对象。 pickle模块是Python标准库中提供的一个非常有用的工具,它支持大多数Python对象的序列化和反序列化,包括基本数据类型、集合类型、字典、自定义…

    2023年2月25日
    00
  • Python 如何自定义模块(详解版)

    Python是一门高度模块化的语言,支持自定义模块,方便开发者在编写程序时复用代码,提高代码的可维护性和可读性。本文将详细介绍Python自定义模块的方法和注意事项。 Python自定义模块 在Python中,自定义模块就是开发者自己编写的代码文件,可以包含函数、类、变量等。自定义模块可以被其他程序导入和使用,从而实现代码的复用。Python自定义模块的命名…

    2023年2月25日
    00
  • Python获取异常信息sys.exc_info()函数详解

    在 Python 中,sys.exc_info() 方法用于获取当前线程最后一个引发异常的相关信息。 它返回一个包含三个元素的元组 (type, value, traceback),分别表示引发的异常类型、异常对象和异常的堆栈跟踪对象。如果没有异常被引发,则返回 (None, None, None)。 下面是 sys.exc_info() 方法的使用示例: …

    2023年2月26日
    00

发表回复

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

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