对于不可变对象(如整数(int)、浮点数(float)、字符串(str)、元组(tuple)等):
- 函数中可以直接引用,不需要声明
- 不能直接修改,需在函数内提前声明为全局变量
对于可变对象(如列表(list)、字典(dict)、集合(set)等):
- 函数中可以直接引用,不需要声明
- 可以进行增、删、改,不需要声明
- 可以创建一个同名的对象,但这只是一个局部变量
Python中,变量是根据id来判断是否指向内存中同一个对象。
对于可变对象,它的id是解释器在创建变量时动态生成的,在其生命周期中,不管可变对象的内容发生什么变化,它的id是不变的。所以对于可变对象来说,在函数中增、删、改,不影响它的id。
对于不可变对象,修改它的内容,它的id就变了。