如何区分Python中的可变与不可变对象?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1313个文字,预计阅读时间需要6分钟。
Python中存在可变对象和不可变对象,可变对象包括:list, dict。不可变对象有:int, string, float, tuple。不可变对象int, string, float, tuple的id值相同。
例如:pythondef int_test(): i=77 j=77 print(id(77))
int_test()
python中有可变对象和不可变对象,可变对象:list,dict.不可变对象有:int,string,float,tuple.
python不可变对象
int,string,float,tuple
先来看一个例子
def int_test(): i = 77 j = 77 print(id(77)) #140396579590760 print('i id:' + str(id(i))) #i id:140396579590760 print('j id:' + str(id(j))) #j id:140396579590760 print i is j #True j = j + 1 print('new i id:' + str(id(i))) #new i id:140396579590760 print('new j id:' + str(id(j))) #new j id:140396579590736 print i is j #False if __name__ == '__main__': int_test()
有i和j俩个变量的值为77,通过打印77的ID和变量i,j在内存中的id我们得知它们都是指向同一块内存。
本文共计1313个文字,预计阅读时间需要6分钟。
Python中存在可变对象和不可变对象,可变对象包括:list, dict。不可变对象有:int, string, float, tuple。不可变对象int, string, float, tuple的id值相同。
例如:pythondef int_test(): i=77 j=77 print(id(77))
int_test()
python中有可变对象和不可变对象,可变对象:list,dict.不可变对象有:int,string,float,tuple.
python不可变对象
int,string,float,tuple
先来看一个例子
def int_test(): i = 77 j = 77 print(id(77)) #140396579590760 print('i id:' + str(id(i))) #i id:140396579590760 print('j id:' + str(id(j))) #j id:140396579590760 print i is j #True j = j + 1 print('new i id:' + str(id(i))) #new i id:140396579590760 print('new j id:' + str(id(j))) #new j id:140396579590736 print i is j #False if __name__ == '__main__': int_test()
有i和j俩个变量的值为77,通过打印77的ID和变量i,j在内存中的id我们得知它们都是指向同一块内存。

