为了账号安全,请及时绑定邮箱和手机立即绑定

为什么会这样?

http://img1.sycdn.imooc.com//5992663b000196e204490535.jpg

为什么修改L的值,t也跟着变,是我理解错了吗

正在回答

3 回答

把t[2]的值赋予给L,此时L和t[2]指向(使用)同一个存储空间,所以改变L,t也跟着改变

1 回复 有任何疑惑可以回复我~

虽然t是不可变的  但是此不可变指的为t中每个元素所指的对象不可变 但如果对象本身可变,可以通过修改对象来修改t中的值 然而t中的元素实际上是指向各个对象的 经过上面的语句后,t[2]和L同时指向一个对象 通个L修改对象的值自然就可以改变t

0 回复 有任何疑惑可以回复我~
#1

慕圣1225756 提问者

#coding=utf-8 L = 1 print L t = 2 L = t print L print t L = 3 print L print t 这段代码的结果是: 1 2 2 3 2 就不会影响t的结果
2017-08-15 回复 有任何疑惑可以回复我~
#2

慕妹8304320 回复 慕圣1225756 提问者

我认为你应该好好复习一下最开始的基础课程 那样的话你的问题应该可以得到解决 你之前的代码是让t和L都作为一个指向某些对象的变量,但是这一段代码的意思是让L和t等于某些数,而这些单个的数的意义是一种数据类型而不是一个对象
2017-08-18 回复 有任何疑惑可以回复我~

因为你的t里面并没有包含L

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758620    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

为什么会这样?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信