Python中与数据相关的基本概念
Instance
Python中使用instance存储数据,这个数据可以是str、int、list等等,每个instance会有一个ID
ID-Number |
---|
Data Type |
Value |
其ID可以使用id()
进行输出:
>>> x=1200
>>> id(x)
Reference
变量名称(x,y,z,... 等任意*字符)指向某个instance的引用即reference,比如以下程序中的x
:
>>> x=1200
>>> x+200
1400
接下来一个例子说明了reference对instance的指向是怎么进行的:
# 举例:
>>> x=1200
>>> y=x
>>> x
1200
>>> y
1200
>>> y=5
>>> x
1200
>>> y
5
# 这个例子中的x和y是两个reference, 在第二行两个reference均指向了同一个值为1200的instance,
# 而后y在第7行又改为指向了值为5的一个instance,x保持不变
不可变/可变 数据类型
不可变数据类型
数据一旦存入一个这些类型的instance,这个instance的值(Value)便不再发生变化。
int
bool
str
可变数据类型
数据存入一个这些类型的instance后,其值(Value)便不再发生变化
list
这导致的一个效应:side effects
变量可能随其他变量的变化而变化:
>>> list1=[1,2,3]
>>> list2=list1
>>> list1
[1,2,3]
>>> list2
[1,2,3]
>>> list1[0]=10
>>> list1
[10,2,3]
>>> list2
[10,2,3]
# list1和list2均指向了同一个instance,这个instance是list类型,
# 所以是可变的,通过list1将这个list类型的instance的第一个值改变之后,
# list2指向的依旧是这一个instance,所以list2的第一个值也发生了改变