在 Python 中,类型属于对象,变量是没有类型的:
━━━━━━━━━━━━━━━━━━━━━━━━━
a=[1,2,3]
a="w3cschool"
以上代码中,[1,2,3] 是 list 类型,"w3cschool"是 string 类型,而变量 a 是没有类型,她仅仅是一个对象的引用(一个指针),可以是 list 类型对象,也可以指向 是 string 类型对象。
━━━━━━━━━━━━━━━━━━━━━━━━━
可更改 (mutable) 与不可更改 (immutable) 对象
在 Python 中,strings, tuples, 和 numbers 是不可更改的对象,而 list, dict 等则是可以修改的对象。
不可变类型:变量赋值 a=5 后再赋值 a=10,这里实际是新生成一个 int 值对象 10,再让 a 指向它,而 5 被丢弃,不是改变 a 的值,相当于新生成了 a。
可变类型:变量赋值 la=[1,2,3,4] 后再赋值 la[2]=5 则是将 list la 的第三个元素值更改,本身 la 没有动,只是其内部的一部分值被修改了。