1.对于int,str,float,tuple类型的只要值相同,其内存地址是相同的
# 字符串类型 str1 = 'hello world' str2 = str1[:] str3 = 'hello world' # id()查看内存地址 print(id(str1)) # 3197365598576 print(id(str2)) # 3197365598576 print(id(str3)) # 3197365598576 print('--------------------') # 整数类型 int1 = 10 int2 = 10 print(id(int1)) # 140732206077888 print(id(int2)) # 140732206077888 print('--------------------') # 浮点类型 float1 = 10.1 float2 = 10.1 print(id(float1)) # 2568419690448 print(id(float2)) # 2568419690448 print('--------------------') # 元组类型 tuple1 = (1,2,3) tuple2 = (1,2,3) print(id(tuple1)) # 2924194997440 print(id(tuple2)) # 2924194997440
2.对于list,dict,set 类型的数据,虽然值是相同,但名字不同内存地址也是不同的
# 列表类型 list1 = [1,2,3] list2 = [1,2,3] print(id(list1)) # 3197365517056 print(id(list2)) # 3197365328064 print('--------------------') # 集合类型 set1 = {1,2,3} set2 = {1,2,3} print(id(set1)) # 2600954043296 print(id(set2)) # 2600954043072 print('--------------------') # 字典类型 dict1 = {'name': '张三', 'age': 18} dict2 = {'name': '张三', 'age': 18} print(id(dict1)) # 2318548597568 print(id(dict2)) # 2318548597632
3.Python中在使用 “=” 进行赋值传递的时候传递的是地址, 也就是引用传递