a = 1; b = 1.0
a is b# False
a == b # True
小心python变量赋值的陷阱
看到上面的所述知道python中的is函数了python变量赋值实则是引用 , 引用的是对象的内存地址 。所赋的值可以分两类,一类是可变的 , 如列表,字典,集合;一类是不可变的 , 如字符串、元组 。所以当对象为可变类型时就会出现一种情景,我们举例说明:
x = [1, 2, 3]
y = x
print x == y# True
print x is y# True
print x# [1, 2, 3]
print y# [1, 2, 3]
y.append(4)
print x# [1, 2, 3, 4]
print y# [1, 2, 3, 4]
可以看到y在进行调整时(添加了一个元素),x也跟着变动了,这进一步说明了 , python中的变量赋值时引用,x,y 赋值时指向了同一处内存地址,所以当y变动时 , x同样也发送了变化,解决这中现象的方法可以是x, y = [1,2,3], [1,2,3]这样赋值,虽说此时 x==y 是True,但是确实是2个不同的内存地址,所以 x is y 则是 False 。或者可以使用copy模块,实质是相同的,创建2个不同的内存地址,使其分离 。
python中的is函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于python中isnan函数、python中的is函数的信息别忘了在本站进行查找喔 。
推荐阅读
- 机器人恋爱养成游戏日本,机器人恋爱番
- 470搭配什么cpu,cpu4770配什么主板
- 无人敢惹的直播软件,无人直播游戏
- js点击重新刷新页面,js页面刷新后回到原来位置
- 手机充电器怎么改无线充电,手机 改无线充电
- C语言调用圆的方程函数 c语言调用圆的方程函数怎么写
- 家里多个路由器怎么调节,家里多个路由器怎么调节信号
- 乐视cpu是什么牌子,乐视芯片
- 恋爱养成类游戏app安卓,恋爱养成类游戏在线玩