Python 教程之运算符(14)Python中==和is运算符的区别

简介: Python 教程之运算符(14)Python中==和is运算符的区别

相等运算符 (==) 是 Python 中的比较运算符,用于比较两个操作数的值并检查值是否相等。而“ is” 运算符是标识运算符,用于检查两个操作数是否引用同一个对象(存在于同一个内存位置)。

插图:

# 等式算子
>>> a=10
>>>b=10
>>>a==b
True
>>>a=10     
>>>id(a)
2813000247664   
>>>b=10
2813000247664    # a 和 b 都指向同一个对象
>>>a is b
True
>>>c=a       # 这里变量 a 被分配给新变量 c,它保存相同的对象和相同的内存位置
>>> id(c)
2813000247664
>>>a is c     
True

示例 1:

# python3 代码说明 == 和is操作符[]是空列表的区别
list1 = []
list2 = []
list3=list1
if (list1 == list2):
  print("True")
else:
  print("False")
if (list1 is list2):
  print("True")
else:
  print("False")
if (list1 is list3):
  print("True")
else: 
  print("False")
list3 = list3 + list2
if (list1 is list3):
  print("True")
else: 
  print("False")

输出:

True
False
True
False
  • 如果条件为“真”,则第一个的输出,因为 list1 和 list2 都是空列表。
  • 其次如果条件显示为“False”,因为两个空列表位于不同的内存位置。因此 list1 和 list2 指的是不同的对象。我们可以使用 中的id() 函数来检查它,它返回一个对象的“身份”。
  • 如果条件为“真”,则第三个的输出,因为 list1 和 list3 都指向同一个对象。
  • 如果条件为“False”,则第四个的输出,因为两个列表的串联总是会产生一个新列表。

示例 2

list1 = []
list2 = []
print(id(list1))
print(id(list2))

输出:

139877155242696 
139877155253640

这表明 list1 和 list2 引用了不同的对象。



目录
相关文章
|
15天前
|
Python
python一元运算符的应用
【4月更文挑战第12天】Python的一元运算符包括正号(+), 负号(-), 按位取反(~), 取绝对值(abs())和类型转换(int(), float(), str())。例如:`+a`使数值变正,`-a`变为负数,`~a`为按位取反,`abs(a)`获取绝对值,而`int(a)`, `float(a)`, `str(a)`则用于类型转换。示例代码展示了这些运算符的使用效果。
17 0
|
1月前
|
JSON C语言 C++
【Python 基础教程 26】Python3标准库全面入门教程:一步步带你深入理解与应用
【Python 基础教程 26】Python3标准库全面入门教程:一步步带你深入理解与应用
63 1
|
3天前
|
运维 Shell Python
Shell和Python学习教程总结
Shell和Python学习教程总结
|
4天前
|
JSON 数据格式 索引
python 又一个点运算符操作的字典库:Munch
python 又一个点运算符操作的字典库:Munch
21 0
|
10天前
|
开发者 索引 Python
Python中的海象运算符:简洁而强大的赋值表达式
【4月更文挑战第17天】Python 3.8 引入了海象运算符 `:=`,也称赋值表达式运算符,用于在表达式内部赋值,简化代码并提升可读性。它能用于条件判断、循环控制和函数参数等场景,优化逻辑流程。然而,使用时需注意可读性、运算符优先级及赋值限制,以确保代码清晰易懂。海象运算符是Python编程的一个有用工具,但应根据情况谨慎使用。
|
15天前
|
数据采集 机器学习/深度学习 人工智能
「Python系列」Python运算符
Python 支持多种运算符,包括算术运算符、比较运算符、逻辑运算符、位运算符等等。
19 3
|
25天前
|
人工智能 机器人 测试技术
【Python】Python迭代器与生成器的区别(详细讲解)
【Python】Python迭代器与生成器的区别(详细讲解)
【Python】Python迭代器与生成器的区别(详细讲解)
|
1月前
|
安全 程序员 数据处理
Python运算符详解
Python编程中的运算符包括算术、比较、逻辑、赋值和位运算符。算术运算符如加法(+), 减法(-), 乘法(*), 除法(/), 整除(//)和取模(%)用于数学运算。比较运算符如==, !=, >, <, >=和<=用于比较两个值。逻辑运算符and, or和not用于组合布尔表达式。赋值运算符如=, +=等用于赋值和复合赋值。位运算符如&(按位与)、|(按位或)、^(按位异或)、~(按位取反)、<<(左移)和>>(右移)对整数的二进制位进行操作,常用于底层数据处理和性能优化。
|
1月前
|
算法 开发者 Python
【Python 基础扫盲 】self参数、__init__方法和.__str__方法的用处和区别?
【Python 基础扫盲 】self参数、__init__方法和.__str__方法的用处和区别?
20 0
|
C# Python
Python中的module,library,package之间的区别
背景 Python中有一些基本的名词,很多人,尤其是一些初学者,可能听着就很晕。 此处,简单总结一下,module,library,package之间的大概区别。 Python中的module的简介 module,中文翻译为:模块 Python中的module,说白了,就是Python文件,而python文件一般后缀为py,所以就是你的xxx.py而已。
1698 0