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 指的是不同的对象。我们可以使用python 中的id() 函数来检查它,它返回一个对象的“身份”。
  • 如果条件为“真”,则第三个的输出,因为 list1 和 list3 都指向同一个对象。
  • 如果条件为“False”,则第四个的输出,因为两个列表的串联总是会产生一个新列表。

示例 2

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

输出: 

139877155242696 
139877155253640

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


感谢大家的阅读,有什么问题欢迎在评论区留言

目录
相关文章
|
18天前
|
存储 开发者 Python
Python 中的数据结构与其他编程语言数据结构的区别
不同编程语言都有其设计理念和应用场景,开发者需要根据具体需求和语言特点来选择合适的数据结构
|
3天前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
30 8
|
3天前
Seaborn 教程-主题(Theme)
Seaborn 教程-主题(Theme)
22 7
|
3天前
|
Python
Seaborn 教程-模板(Context)
Seaborn 教程-模板(Context)
22 4
|
3天前
|
数据可视化 Python
Seaborn 教程
Seaborn 教程
20 5
|
26天前
|
Python
Python运算符优先级
Python运算符优先级。
21 3
|
26天前
|
Python
Python身份运算符
Python身份运算符。
21 1
|
2月前
|
自然语言处理 Python
【python从入门到精通】-- 第三战:输入输出 运算符
【python从入门到精通】-- 第三战:输入输出 运算符
71 0
【python从入门到精通】-- 第三战:输入输出 运算符
|
7月前
|
Python
Python3从零基础到入门(2)—— 运算符-2
Python3从零基础到入门(2)—— 运算符
Python3从零基础到入门(2)—— 运算符-2
|
7月前
|
Python C语言 存储
Python3从零基础到入门(2)—— 运算符-1
Python3从零基础到入门(2)—— 运算符
Python3从零基础到入门(2)—— 运算符-1