随笔分类 -  python

摘要:本文目录: 1. 闭包的解析和用法 2. 函数式装饰器 3. 类装饰器 一、闭包 闭包是一种函数,从形式上来说是函数内部定义(嵌套)函数,实现函数的扩展。在开发过程中,考虑到兼容性和耦合度问题,如果想在原有的函数基础上添加东西而又不改动原有函数的结构,通常会使用闭包。但闭包的功能还不只是这个。实际上 阅读全文
posted @ 2019-02-17 11:53 2015夏 阅读(1137) 评论(0) 推荐(1)
摘要:zipfile模块是python中一个处理压缩文件的模块,解决了不少我们平常需要处理压缩文件的需求 ,本文主要谈谈zipfile几个常用的用法。 首先我在Windows操作系统中创建如下的文件目录: 一、读取压缩文件: 代码: import zipfile import os # 压缩文件路径 zi 阅读全文
posted @ 2019-01-28 07:58 2015夏 阅读(10150) 评论(0) 推荐(1)
摘要:在高并发的场景下,python提供了一个多线程的模块threading,但似乎这个模块并不近人如意,原因在于cpython本身的全局解析锁(GIL)问题,在一段时间片内实际上的执行是单线程的。同时还存在着资源争夺的问题。python3.4之后引入了基于生成器对象的协程概念。也就是asyncio模块。 阅读全文
posted @ 2018-12-19 11:34 2015夏 阅读(1250) 评论(0) 推荐(0)
摘要:python的内建模块collections有几个关键的数据结构,平常在使用的时候,开发者可以直接调用,不需要自己重复制造轮子,这样可以提高开发效率。 1. deque双端队列 平常我们使用的python内置list类的append,extend,pop方法都是从list的尾部执行的(pop()默认 阅读全文
posted @ 2018-12-09 22:51 2015夏 阅读(382) 评论(0) 推荐(1)
摘要:Queue队列在几乎每种编程语言都会有,python的列表隐藏的一个特点就是一个后进先出(LIFO)队列。而本文所讨论的Queue是python标准库queue中的一个类。它的原理与列表相似,但是先进先出(FIFO)队列。而内部实现更为完善,有很好的数据保护机制和较高的稳定性。 Queue队列在编程 阅读全文
posted @ 2018-11-26 09:37 2015夏 阅读(631) 评论(0) 推荐(0)
摘要:前面两篇文章,写了python线程同步原语的基本应用。下面这篇文章主要是通过阅读源码来了解这几个类的内部原理和是怎么协同一起工作来实现python多线程的。 相关文章链接:python同步原语--线程锁 python--线程同步原语 一、关于Condition类 Condition的用法: 用来记录 阅读全文
posted @ 2018-11-21 08:39 2015夏 阅读(475) 评论(0) 推荐(0)
摘要:Threading模块是python3里面的多线程模块,模块内集成了许多的类,其中包括Thread,Condition,Event,Lock,Rlock,Semaphore,Timer等等。下面这篇文章主要通过案例来说明其中的Event和Segmaphore(Boundedsegmaphore)的使 阅读全文
posted @ 2018-11-20 00:56 2015夏 阅读(1207) 评论(0) 推荐(0)
摘要:在讲述fileinput模块之前,首先说一下python内置的文件API—open()函数以及与其相关的函数。 我这里主要讲讲其中四个比较重要和常用的方法,更多的方法,可以参考:菜鸟教程http://www.runoob.com/python/file-methods.html (1)file = 阅读全文
posted @ 2018-11-15 01:03 2015夏 阅读(18282) 评论(0) 推荐(0)
摘要:在定义一个类的时候,有时我们需要获取一个类的属性值,而这个属性值需要经过类中的其他属性运算来获得的。那么很容易,只要我们在类中定义一个方法,并且通过调用方法可以获取到那个需要运算的属性值。那么,问题来了,当有一天需求变了,你需要反向操作你之前实现的类,你需要通过传入那个需要运算得来的值来获取参与运算 阅读全文
posted @ 2018-11-12 20:36 2015夏 阅读(411) 评论(0) 推荐(0)
摘要:多线程锁是python多种同步原语中的其中一种。首先解析一下什么是同步原语,python因为GIL(全局解析锁)的缘故,并没有真正的多线性。另外python的多线程存在一个问题,在多线程编程时,会出现线程同时调用共同的存储空间而导致错误的出现(即‘竞态行为’)。虽然许多专家建议python开发者在处 阅读全文
posted @ 2018-08-21 22:04 2015夏 阅读(879) 评论(0) 推荐(0)
摘要:信号signal 是python进程间通信多种机制中的其中一种机制。可以对操作系统进程的控制,当进程中发生某种原因而中断时,可以异步处理这个异常。 信号通过注册的方式‘挂’在一个进程中,并且不会阻塞该进程的运行。一个进程一旦接收到其他进程(可能是应用中的其他进程,也可能使操作系统中的进程)发送的信号 阅读全文
posted @ 2018-08-19 20:33 2015夏 阅读(6133) 评论(0) 推荐(0)
摘要:当类的属性或者类实例对象的属性隐藏的时候必须通过编写存取器函数来获取和设置这些隐藏的属性。 在类的外部获取和和设置这些隐藏属性都要调用这些存取器方法,在语义上和方便性上都不是很好。 那么有没更有更好的解决办法呢?python提出了三种解决途径。此文总结了这三种方法 阅读全文
posted @ 2018-07-29 19:58 2015夏 阅读(2813) 评论(0) 推荐(0)
摘要:python中变量的查找机制: 局部作用域--外部函数作用域--全局作用域--内建函数作用域 其实一般内建函数中的作用域很少会涉及到,因为内建函数其实是一个封装好的实例函数, 它的内部变量一般在函数外部无法获取到 阅读全文
posted @ 2018-07-28 22:52 2015夏 阅读(463) 评论(0) 推荐(0)