python知识


全局解释器锁(GIL):cpython解释器中的机制,类似于通行证,每个线程只有拿到GIL才能够进入cpu中执行。用于确保每次只能有一个线程执行。

深拷贝与浅拷贝区别:深拷贝与浅拷贝都是对象的拷贝,主要区别就是拷贝出来的对象地址是否一样。

                                    浅拷贝拷贝的对象地址原来对象地址不一样,但是可变对象还是指向同一地址,也就是说浅拷贝拷贝可变对象的表面上的值,当可变对象的值发生修改后,浅拷贝中可变对象随之修改,但是深拷贝不一样,深拷贝的可变对象不指向同一地址,因此改变可变对象的值后对深拷贝没有影响。

迭代器:通过iter()方法使得可变对象称为可迭代对象,在使用next()方法逐个遍历下一个元素。

生成器:使用yield关键字的函数被称为生成器,是一个返回迭代器的函数,调用生成器运行过程中,每次遇到yield时函数就是暂停,并保存当前的信息,返回yield值,并在下一次执行next()方法时从当前位置继续运行。