• python细节1


    并发:交替处理多个任务的能力
    并行:同时处理多个任务的能力
    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 子类重写的父类方法被调用

  • 相关阅读:
    新建项目
    Pandas常用操作
    Codeforces Round #764 (Div. 3)(CF1624)题解
    求1到n在模mod意义下的逆元
    [IOI2000] 回文字串 / [蓝桥杯 2016 省] 密码脱落(dp)
    持续集成:Jenkins Pipeline共享库定义和使用
    持续集成:Jenkins API使用方法详细介绍
    持续集成:Jenkins Pipeline语法介绍
    持续集成:Jenkins邮件通知配置方法介绍
    使用facebookwda进行iOS APP自动化测试
  • 原文地址:https://www.cnblogs.com/zc2018/p/8835094.html
Copyright © 2020-2023  润新知