身份检查
本课属于 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。
当你想确定两个变量是否指向内存中的同一个对象,而不仅仅是拥有相同的值时,身份检查特别有用。
挑战
简单创建两个变量 list1 和 list2,其中:
list1指向列表[1, 2, 3]。list2被赋值为同一个对象。
使用 is 运算符检查 list1 和 list2 是否指向同一个对象。
使用 is not 运算符检查 list1 和 list2 是否指向不同的对象。
打印检查结果。
亲手试试
# 在这里编写代码这节课包含一个小测验。开始学习即可作答,并记录你的进度。
逻辑与流程中的所有课
自己练习: Python 在线编译器