python相关知识点

2022/9/1 1:22:47

本文主要是介绍python相关知识点,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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不变
  • 浅拷贝相当于对原对象打上新标签,仅拷贝对象本身,不会对对象中的子对象进行拷贝,浅拷贝没有生成新的对象  id改变
  • 深拷贝是真正意义上的复制,会新开辟一块空间,生成新的对象  id改变

对于不可变类型,如元组、数值、字符串等,怎么拷贝id都不变,且修改原对象,拷贝的对象内容不改变

 

 4. python的内存管理机制

python不需要像c、c++语言需要手动释放内存,会自动进行垃圾回收

这样的优点是不需要手动释放、不会出现内存泄漏、空指针等问题

     缺点是垃圾回收机制是作为一个线程存在的,需要占用资源,且不具有实时性,什么时候调用是不确定的,需要垃圾回收线程获得CPU资源时再回收

python的垃圾回收机制以计数法为主,分代回收为辅

其中计数法就是对于一个对象,有一个计数器,建立时计数器+1,具体操作时对计数器进行+-,当计数器归0了就回收



这篇关于python相关知识点的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程