1.对不可变对象:整型int、浮点型float、字符串型string和元组tuple,不允许变量的值发生变化,如果改变了变量的值,相当于是新建了一个对象。
2.可变对象,包括列表字典等复杂的类,允许变量值发生变化,改变了它们的值,变量地址不变,
3.Python 压根就没有变量的概念。用C或C++的变量概念去理解python就会一头雾水。C/C++中的变量的概念是面向内存的。所以你要声明一个变量:表明空间大小,存储的格式(整数,浮点),以及一个永久不变的名字指向这个变量。python只有name和object,所有name在创建时必须关联到一个object。name可以在创建以后指向任何一个object(包括不同类型)。所以name本身没有类别,他关联的object是有类别的。在python中可以使用type(name)来查看name关联的object的类型。
4.,在Python中产生的各种对象可同时被多个变量绑定,如果不被任何变量绑定,该对象会被回收清除。
5.一个例子:
a = [1, 2, 3] b = a # 此时a、b是对象[1, 2, 3]的两个name b = [0] # IDE提示:已重新声明上文定义的无用法的 'b',现在b是新的对象[0]的name了 print(a, b)
此时输出是:
[0] [1, 2, 3]
6. 不要把以上想法带入matlab等其他语言中。
参考:
1.Python不用声明变量吗?
作者:TEDCAI
链接:https://www.zhihu.com/question/25090486/answer/266513336
来源:知乎
2(60条消息) Python学习之路-----变量的引用_shen_chengfeng的博客-CSDN博客_python 变量引用