这次小白总结的是 ==
,=
和 is
( in
) 的区别
1. ==
:也就是数学上的 等于号,数学上的等于号是干什么的?当然是判断两个值是否相等。
- e.g. 乘法口诀表:
5 X 5 = 2 5
,5 X + 1 = 6
- 这里有个小案例,一起来看看吧
~~
x = [2, 4, 6, 8, 10, 12, 14]
print(id(x))
temp = x[:5] + x[5:]
print(id(temp))
print(x == x[:5] + x[5:])
print(x is x[:5] + x[5:])
运行结果:
140614157651400
140614157651720
True
False
- 这个案例考察了对列表的 切片索引 的知识点,先来看看
x
列表的 索引吧
#索引 0 1 2 3 4 5 6 # 正向索引
x = [2, 4, 6, 8, 10, 12, 14]
# -7 -6 -5 -4 -3 -2 -1 # 反向索引
- 因此,
x[:5]
就是 ——[2, 4, 6, 8, 10]
左闭右开不含右哦 ~ - 同理,
x[5:]
就是 ——[12, 14]
左闭右开不含右哦 ~ - 加起来就是:
x[:5] + x[5:]
等于[2, 4, 6, 8, 10, 12, 14]
呢还是[2, 4, 6, 8, 10, [12, 14]]
>>> x[:5] + x[5:]
[2, 4, 6, 8, 10, 12, 14]
- 因此:
x == x[:5] + x[5:]
的布尔值为True
- 是否长得一样就是一家人呢?(是否
地址
一样呢?) - 到这还是有小伙伴不理解
is
的用法呢, 一起来和小白看看吧
>>> x is x[:5] + x[5:]
False
- 显然地址不同
2. =
: 赋值运算符 :一般编程语言中的通用运算符,如 x = 1
, 意味程序在内存中找数字 1,把 x
这个变量指向 1 ,换言之,就是将 1 赋值给 x
这个变量。
e.g.
>>> x = 1
>>> x
1
3. is
:判断两个地址是否相同,若相同,返回布尔值 True
, 不相同返回 False
>>> a = b = 1 # 这里采用一值多赋
>>> a
1
>>> b
1
>>> a is b
True
>>> id(a)
140733566447872
>>> id(b)
140733566447872
>>>
反之:
>>> a = 1
>>> a, b =1, 2
>>> a is b
False
>>> id(a)
140733566447872
>>> id(b)
140733566447904
>>>
4. in
: 属于 操作符,又称成员判断符,若子元素,在元素中,返回布尔值 True
,反之返回 False
>>> str_a = "我是小白"
>>> '小白' in str_a
True
>>> '小黑' in str_a
False
>>> 小白 in str_a
Traceback (most recent call last):
File "<pyshell#15>", line 1, in <module>
小白 in str_a
NameError: name '小白' is not defined
>>>
- 注意:用
in
时,如果是字符串类型,记得打单引号或双引号, 不然 支持汉字 作为变量名的python
可要生气了鸭 ~ ~ - 以上就是小白对知识点的小结 ~