zoukankan      html  css  js  c++  java
  • 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 子类重写的父类方法被调用

  • 相关阅读:
    UnityGUI Keynote
    Unity3D Asset 导入&导出
    Unity3d平台信息设置
    Unity3D自带Demo AngryBots路径
    如何判定Unity已破解成功
    fbx模型
    Init & Deinit & ARC
    Subscript & Inheritance
    Properties & Method
    Enumeration & Class & Structure
  • 原文地址:https://www.cnblogs.com/zc2018/p/8835094.html
Copyright © 2011-2022 走看看