1. enumerate用于将可迭代对象拆包成元组
比如list、dic、range
list = [0,1,2,3] dic = {'a':1,'b':2,'c':3} for a in enumerate(list): print(a) # 输出为 (0,0) (1,1) (2,2) (3,3)
for a in enumerate(dic): print(a) # 输出为 (0,'a') (1,'c') (2,'f') 这就与键值无关了
2. is 表示两个对象之间地址是否相同,==表示两个对象里的数据是否相同
3. 赋值 = 浅拷贝 copy 深拷贝 deepcopy
对于不可变类型,如元组、数值、字符串等,怎么拷贝id都不变,且修改原对象,拷贝的对象内容不改变
4. python的内存管理机制
python不需要像c、c++语言需要手动释放内存,会自动进行垃圾回收
这样的优点是不需要手动释放、不会出现内存泄漏、空指针等问题
缺点是垃圾回收机制是作为一个线程存在的,需要占用资源,且不具有实时性,什么时候调用是不确定的,需要垃圾回收线程获得CPU资源时再回收
python的垃圾回收机制以计数法为主,分代回收为辅
其中计数法就是对于一个对象,有一个计数器,建立时计数器+1,具体操作时对计数器进行+-,当计数器归0了就回收