在某些情况下,python会使用现有的不可变对象,而不是总是创建一个新对象。驻留的对象在内部使用类似字典的结构(驻留池)进行驻留,节省内存。
原理:系统维护interned字典类型记录已经被驻留的字符串对象,如果a需要驻留,在interned字典中会检测是否存在,存在则指向字符串对象,a的引用次数减1;不存在则记录a到interned字典中。
一.字符串编译时驻留,非运行时不驻留
str1="a"+"b" print(str1 is "ab") #true ——在程序运行时,已经处理完成,所以驻留 str2="a" str3="b" print(str2+str3 is "ab")#false ————程序运行时,才开始执行,不进行驻留标签:interned,python,驻留,对象,字符串,机制,字典 From: https://www.cnblogs.com/najiuggle/p/17154319.html