GIL,深浅拷贝,私有化

GIL

  1. gil是什么:全局解析器锁
  2. gil作用:单核的情况下实现多任务
  3. gil解决方案:
    1. 进程
    2. 换解析器(javapython)
    3. 线程这块代码使用c,java去实现
    4. 进程加协程提高效率

科学计算使用单线程,
有堵塞的情况下可以使用多线程

深拷贝与浅拷贝

如果是不可变类型都是引用
api级别的基本都是浅copy
1. 深拷贝:递归所有的数据都复制一份,浪费资源

2. 浅拷贝:复制第一层

私有化

_xxx:这个是from xx import xxx这个不能导入
__xx:这个私有属性,外部不能访问,但是可以通过特殊的方式:_类名__xx
__init__:这些魔法方法

动态导入

import oldyang
oldyang.test()

oldayng = __import__("oldyang")
oldyang.test()

路径搜索

sys.path
匹配搜索路径中的模块,如果匹配到了,后面不执行

重新加载模块

from imp import reload
reload(模块) 好处不用重启程序

封装

一个功能一个函数,相关函数之间封闭到一个对象(类),好处:代码复用,让代码更利于理解,阅读

继承

多个子类有相同的功能(函数),我们会把相同的函数放到父类中.好处:代码复用

多态

1. 必须是继承
2. 调用一个函数,显示不同的效果
3. 但是他不是一个严谨的多态

类与实例之间的关系

魔法属性

1.__init__
2.__new__
3.__call__    实例()
4.__dict__
5.__class__

面向对象开发

1. 把相关的函数放在一个类对象中(封装到一个类对象),这个面向对象开发

猜你喜欢

转载自blog.csdn.net/weixin_40420525/article/details/80884447