码迷,mamicode.com
首页 > 编程语言 > 详细

python提高

时间:2018-04-18 21:13:16      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:计算   通过   查看   port   image   元组   递归   python   冲突   

 

一、GIL锁

1.是什么:全局解释器锁
2.有什么用:单核下实现多任务
3.在开发cPython解析器的时候是单核的情况下,用程序去切换线程,使用gil锁来控制线程的切换.
4.解决方案:使用进程实现并发多任务,(换javapython解析器) 使用其他语言实现多线程的多任务
5.如果是有堵塞的那么多线程会比单线程快,但是可以说一般不用我们使用多进程加协程,如果科学计算那么单线程会比多线程快.

技术分享图片

 

二、浅拷贝、深拷贝

1.深拷贝:递归里面的数据全部复制一份,这个性能低,元组,字符串,数字,一般深拷贝跟我们的引用一样

2.浅拷贝:复制第一层的数据

 

技术分享图片

技术分享图片

技术分享图片

 

 

 


技术分享图片

三、私有属性

xx: 公有变量

_x: 单前置下划线,私有化属性或方法,from somemodule import *禁止导入,类对象和子类可以访问

__xx:双前置下划线,避免与子类中的属性命名冲突,无法在外部直接访问(名字重整所以访问不到),但是可以通过特殊的方式去访问,_类名__私有属性名------->这个可以使用(实例对象.__dict__查看)

__xx__:双前后下划线,用户名字空间的魔法对象或属性。例如:__init__ , __ 不要自己发明这样的名字

xx_:单后置下划线,用于避免与Python关键词的冲突

 

四、import导入模块

导入模块,去我们搜索路径下去一个一个查找,如果找到一个就完成了此次导入
技术分享图片
from xx import xx :这个你理解成深拷贝,会重新创建一个内存对象,这个如果多个文件需要个性同一个文件的,那么这个不能使用,使用(import xx)

 技术分享图片

 

 

python提高

标签:计算   通过   查看   port   image   元组   递归   python   冲突   

原文地址:https://www.cnblogs.com/mrvim/p/8877322.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!