并发:交替处理多个任务的能力
并行:同时处理多个任务的能力 1. GIL 全局解释器锁作用:保证同一时刻只有一个线程使用cpu效果:一个进程中只有一个gil,多个线程需要去抢夺GIl,没有办法真正的使用多个cpu。注意:GIL存在于cpyhton解释器中的多线程使用情况:
1 科学计算 单线程比较快 2 i/o操作 多线程比较快2. 深拷贝和浅拷贝copy.copy()浅拷贝copy.deepcopy()深拷贝 在拷贝简单的数据类型 (a = [1,2]) 的时候没有区别 都是开辟新的一片空间存储数据 拷贝有嵌套的数据类型 浅拷贝 仅仅是拷贝了引用 没有办法保证数据的独立性 深拷贝 完全拷贝数据 并且开辟空间 保证数据的独立性 拷贝元组(不可变类型的数据)的时候 深拷贝和浅拷贝是一样的 不开辟新的空间 直接引用 如果不可变类型 比如元组中 有可变类型的数据 深拷贝:保证数据的独立性 浅拷贝:直接引用 切片拷贝,字典拷贝都是浅拷贝3. 私有化 私有属性是通过 名字重整 进行保护的 01 父类中属性名为__名字的,子类不继承,子类不能访问 02 如果在子类中向__名字赋值,那么会在子类中定义的一个与父类相同名字的属性 03 _名的变量、函数、类在使用from xxx import *时都不会被导入4.import搜索路径:sys.path 模块重写后,需要重新导入,用relode 多模块开发时,用import xxx导入模块5. 发生多态的条件
1 发生继承 2 子类重写父类方法 3 子类重写的父类方法被调用