![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python高级
zheng_lan_fang
这个作者很懒,什么都没留下…
展开
-
Python深拷贝和浅拷贝
浅拷贝:对于一个对象的顶层拷贝。 通俗的理解是:拷贝了引用,并没有拷贝内容深拷贝:是对于一个对象所有层次的拷贝(递归)。拷贝的规律:一层:只有一层深浅拷贝没区别:都是1、如果是可变,地址不同2、如果是不可变,地址相同 >>> a = 10 >>> b = copy.copy(a) >>> id(a) 1595220976 >>>原创 2017-08-08 08:22:47 · 247 阅读 · 0 评论 -
fork,Process,Pool的比较
1.os.fork():主进程执行完退出,不会等待子进程。子进程不会随着主进程结束,继续运行。2.Process():主进程会等待子进程结束后,在结束整个程序。3.Pool():主进程不会等待子进程,主进程结束后,整个程序都结束。可创建多个进程。例:forkimport os,timenum = 0pid = os.fork()if pid == 0: time.sl原创 2017-08-30 21:11:21 · 1216 阅读 · 0 评论 -
Python多进程和多线程
1、Python多进程 1.多进程中,每个进程中所有数据(包括全局变量)都各有拥有一份,互不影响 2.父进程、子进程执行顺序没有规律,完全取决于操作系统的调度算法 3.在不设置daemon时,父进程会等待子进程执行完才结束。但在进程池Pool中,父进程执行到最后代码结束,不会等待子进程,除非使用join()原创 2017-08-29 21:59:28 · 236 阅读 · 0 评论 -
Python多进程——进程池Pool
1.初始化Pool时,可以指定一个最大进程数,当有新的请求提交到Pool中时,如果池还没有满,那么就会创建一个新的进程用来执行该请求;但如果池中的进程数已经达到指定的最大值,那么该请求就会等待,直到池中有进程结束,才会创建新的进程来执行 2.multiprocessing.Pool常用函数解析:apply_async(func[, args[, kwds]]) :使用非阻塞原创 2017-08-29 21:18:00 · 1216 阅读 · 0 评论 -
Python多进程——fork()
1、Linux下的fork() 用法:import os help(os.fork): 在Linux模块中内置的函数fork: fork():派生一个子进程。 子进程返回0 父进程返回子进程的PID 例: import os # 注意,fork函数,只原创 2017-08-29 19:44:51 · 326 阅读 · 0 评论 -
Python多进程——multiprocessing.Process
1.multiprocessing.Process class Process(multiprocessing.process.BaseProcess) | Process objects represent activity that is run in a separate process | | The class is analogous to原创 2017-08-29 20:47:29 · 2044 阅读 · 2 评论 -
进程间的通信Queue
1.可以使用multiprocessing模块的Queue实现多进程之间的数据传递,Queue本身是一个消息列队程序 2.multiprocessing.Queue常用函数: 初始化Queue()对象时(例如:q=Queue()),若括号中没有指定最大可接收的消息数量,或数量为负值,那么就代表可接受的消息数量没有上限(直到内存的尽头);原创 2017-08-29 21:54:43 · 686 阅读 · 0 评论 -
Python生成器
生成器:保存了生成结果的的算法结构,可以推算出后面的元素。 这些数字并没有生成,也没有存到内存中。 生成器对象,只是保存了生成这些数字的算法结构,可以推算出后面的元素。 这样,如果需要取特定的内存,而不是全部加载。 效率提高。创建方式:1、一个原创 2017-08-08 20:02:56 · 206 阅读 · 0 评论 -
Python装饰器
1、装饰器 在运行原来功能基础上,加上一些其它功能,比如权限的验证,比如日志的记录等。不修改原来的代码,进行功能的扩展。2、decorator的功能:引入日志 函数执行时间统计 执行函数前预备处理原创 2017-08-09 20:21:09 · 157 阅读 · 0 评论 -
Python迭代器
可迭代对象(Iterable):可直接作用于for循环的对象统称为可迭代对象。一类是集合数据类型,如 list、tuple、dict、set、str 等;一类是 generator,包括生成器和带yield 的generator function。迭代器(Iterator):可以被next()函数调用并不断返回下一个值的对象称为迭代器。特点:1、迭代是访问集合元素的一种原创 2017-08-08 20:13:53 · 129 阅读 · 0 评论 -
Python多线程---threading
1、创建 python的thread模块是比较底层的模块,python的threading模块是对thread做了一些包装的,可以更加方便的被使用 1.直接实例 import threading #导入包 t = threading.Thread(target=saySorry) #创建线程,设置目标函数 t.start() #启动线原创 2017-08-30 21:50:00 · 269 阅读 · 0 评论