调用changeme函数

发布时间:2026/8/27 21:11:00
调用changeme函数 关于本节可变/不可变对象传参的一点补充划分在heap里的对象被分成了两类, 一类是可变对象, 另一类是不可变对象。所谓的可变对象指的是, 对象所包含的内容是能够发生变化的, 就好比list这个类型。与之相反的是不可变对象, 这意味着它的内容是不可以发生改变的。不可变对象 intstringfloattuple -- 可理解为C中该参数为值传递 可变对象 listdictionary -- 可理解为C中该参数为指针传递一、不可变对象因为, 放在其中的变量所存储的是对象引用, 所以对于那些不可变对象来讲, 虽说对象自身不可变, 可变量的对象引用却是能变的。运用这样一种机制, 有时会致使人们搞得一头雾水, 仿佛可变对象发生了改变。就如同下面的这段代码:i 73 i 2依据已获取的信息可知, 具备不可变特性的对象, 其自身的特质并未发生改变, 仍然为不可变对象, 发生变化的仅仅是, 创建了全新的对象, 进而使得变量所指向的对象引用产生了改变。看看下面的代码更能体现这点的。#因为258是int对象是不可变对象的。所以下面3个id的值都是一样的最后一句的结果也是为True #有点奇怪的是为什么在IDLE和在脚本执行的结果不太一样。所以下面的代码请在脚本中执行。 print(id(258)) a 258 print(id(a)) b 258 print(id(b)) print(a is b)二、对于可变对象它物件其中所包含的内容情形具备能够产生改变的特性, 在物件的内容产生改变这种状况出现的时候, 变量对于物件的引用情况是不会出现改变的, 就像是下述所列举的示例那样子的。m[5,9] m[6]123***