Menu
CoddyTech

身份检查

本课属于 Coddy Python 学习旅程的“逻辑与流程”单元。第 26 课,共 78 课。

在 Python 中,is 和 is not 运算符用于检查对象的身份。与检查两个变量是否具有相同值的 == 运算符不同,is 运算符会检查两个变量是否引用内存中的同一个对象。

is 的基本用法:

a = [1, 2, 3]
b = a
c = [1, 2, 3]

print(a is b)  # 输出:True
print(a is c)  # 输出:False

在这个示例中,a 和 b 指向同一个列表对象,因此 a is b 返回 True。不过,a 和 c 是两个不同的列表对象,虽然它们的值相同,因此 a is c 返回 False。

is not 的基本用法:

x = 5
y = 5
z = 10

print(x is not y)  # 输出:False
print(x is not z)  # 输出:True

这里,x 和 y 指向同一个整数对象(这是 Python 对小整数进行优化的结果),因此 x is not y 会返回 False。x 和 z 是不同的对象,因此 x is not z 会返回 True。

当你想确定两个变量是否指向内存中的同一个对象,而不仅仅是拥有相同的值时,身份检查特别有用。

challenge icon

挑战

简单

创建两个变量 list1 和 list2,其中:

  • list1 指向列表 [1, 2, 3]。
  • list2 被赋值为同一个对象。

使用 is 运算符检查 list1 和 list2 是否指向同一个对象。
使用 is not 运算符检查 list1 和 list2 是否指向不同的对象。
打印检查结果。

亲手试试

# 在这里编写代码
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

逻辑与流程中的所有课

自己练习: Python 在线编译器