摘要: 02函数嵌套及跨域访问 001函数嵌套 要点:返回的函数名有括号返回的是结果,没有括号返回的是对象地址 002函数作用域 阅读全文
posted @ 2019-07-10 18:42 艺杰兮 阅读(218) 评论(0) 推荐(0)
摘要: 装饰器属于高级知识,自己定义装饰器情况较少。但我们会用到包里面或第三方中的装饰器, 01函数基础 001概述 之前在函数定义时,讲过类里面的方法可以通过@staticmethod把方法定义成静态方法或者叫类的方法,从而区别于实例方法。 场景:如对函数添加一些跟踪或者日志功能,或者调试时候验证有效性测 阅读全文
posted @ 2019-07-10 18:41 艺杰兮 阅读(158) 评论(0) 推荐(0)
摘要: 讲一个新模块, 该模块给我们提供一个抽象层,我们的程序最终解决还是要依靠多线程和多进程,但是我们不用考虑多进程和多线程的实现细节,我们通过python封装好的组件,能够快速实现多进程和多线程的编码 当我们解决需求时,需考虑好是IO密集型用多线程还是计算密集型用多进程。该模块下提供了多线程执行器和多进 阅读全文
posted @ 2019-07-10 18:36 艺杰兮 阅读(166) 评论(0) 推荐(0)
摘要: 06 multiprocessing多进程模块 之前讲解了多线程的开发,合理利用多线程可以提高效率,但是由于Python GIL全局解释器锁的限制,多线程更多的适合IO密集型的操作,因为IO密集型会随时释放GIL,这样可以允许更多的并发。所以IO密集型首选多线程。 但是如果是计算密集型,这时候我们可 阅读全文
posted @ 2019-07-10 18:26 艺杰兮 阅读(232) 评论(0) 推荐(0)
摘要: 05队列queue 通俗理解就是排队,典型的保障多线程共享资源的有序操作。 Python提供了模块queue,分为三种队列,先进先出、后进先出(即栈)、优先级别队列(由算法规则决定出的顺序) 001 以先进先出队列为例 代码导入模块 生产者:每隔半秒往队列放入一个随机数,一共放五个 消费者:每次取内 阅读全文
posted @ 2019-07-10 18:21 艺杰兮 阅读(248) 评论(0) 推荐(0)
摘要: 001 场景例子 三人同时往一个框里放鸡蛋,没有锁情况,会出现顺序混乱 结果是混乱的 002改进 声明一个锁 放鸡蛋时候加锁和开锁。或者用with lock: 主函数和程序入口 结果正确 阅读全文
posted @ 2019-07-10 18:17 艺杰兮 阅读(158) 评论(0) 推荐(0)
摘要: 001 例子1:子线程统一执行 代码说明: 声明数组存放线程实例,目的是子线程统一执行开始 threading.Thread()方法的参数说明: 第一个参数group默认为空,无实际意义,为后来版本预留位置 第二个参数target,表示当前线程执行哪个函数 第三个参数args:第二个参数里面函数的是 阅读全文
posted @ 2019-07-10 18:11 艺杰兮 阅读(573) 评论(0) 推荐(0)
摘要: 多线程并非并发编程的唯一技术手段,但是用的比较多的还是多线程。 001 单线程例子 创建文件 002 多线程例子 缺点没有控制进程结束的机制 _thread已经不推荐使用了(所以前面有有个下划线),学习阶段用于实验 (1)新建文件 函数_thread(第一个参数,第二个参数) 第一个参数,只需要写函 阅读全文
posted @ 2019-07-10 17:58 艺杰兮 阅读(225) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2019-07-10 17:55 艺杰兮 阅读(164) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2019-07-10 17:51 艺杰兮 阅读(157) 评论(0) 推荐(0)