python初学者的问题
代码:a=b=c=1print(c)a=a-aprint(c)print(a)运行结果:110结果很让我意外,我以为a,b,c之间是引用的关系(c++),因为是指向同一对...
代码:a=b=c=1print(c)a=a-aprint(c)print(a)运行结果:110结果很让我意外,我以为a,b,c之间是引用的关系(c++),因为是指向同一对象地址的,所用版本为py3。学的浅,希望大佬告知原因。
百度知道的排版太水了 展开
百度知道的排版太水了 展开
展开全部
数字,字符串,元组等属于不可变对象,是不能改变的,如果改变变量的值,变量指向的是一个新的对象,而不是原来的对象
a=b=c=1 一开始a,b,c都是同 一个对象
如果你改变其中任何一个的值 ,都会分配一个新的对象给它,
只有列表,字典等可变对象才能在原对象基础上改变
a=b=c=1 一开始a,b,c都是同 一个对象
如果你改变其中任何一个的值 ,都会分配一个新的对象给它,
只有列表,字典等可变对象才能在原对象基础上改变
更多追问追答
追问
有没有什么函数可以帮助确认一下a,b,c的对象地址?
追答
>>> a=b=c=1
>>> id(a),id(b),id(c)
(10413952, 10413952, 10413952)
>>> c=2
>>> id(c)
10413940
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询