#值传递和引用传递
python中数据类型有:整形,字条串,元组,列表,字典,集合
不可变数据类型:当该数据类型对应变量的值变化,值对应的内存地址
也发生变化,这个值就为不可变数据类型
可变数据类型:当该数据类型对应的变量值发生改变 ,内存地址不变,
即为可变数据类型
#1、整形为不可变数据类型
a =1print(id(a))
a =12print(id(a))
#2、字符串为不可变数据类型
a ='abc'print(id(a))
a = a +'ab'print(id(a))
#3、元组不可变,是只读的
#4、列表是可变数据类型
a =[12,23,34,45,56]print(id(a))
a.append(67)print(id(a))
#5、字典是可变数据类型
a ={'a':12,'b':23,'c':34}print(id(a))
a['d']=45print(id(a))
#6、集合是可变数据类型
a ={12,23,34,45,56}print(id(a))
a.add(67)print(id(a))
#值传递和引用传递:
#值传递——不可变数据类型对象,在函数里进行值的修改,源对象不会被修改
#引用传递—可变数据类型对象,在函数里进行值的修改,源对象也会被修改
a =10
b =[12,23,45,56]
def change(x,y):
x =2
y[0]=1change(a,b)print(a)print(b)