
python
TidusGG
编程苦行僧
展开
-
python多线程的优雅使用
笔者作为一名python职业玩家,仔细研究了下python多线程的使用方法,记录下学习的过程python中的threading模块是专门用来处理多线程并发的情况,废话少说,直接上代码import threadingclass MyThread(threading.Thread): def __init__(self, signal): threading.Thread...原创 2018-04-11 14:05:54 · 303 阅读 · 1 评论 -
python通过__slots__优化内存
当程序需要大量实例的时候,可以用__slots__去实现内存优化,因为python解释器会创建__dict__属性去存储所有类实例的名字,我们知道因为哈希表的原因,字典的内存消耗比较大,我默认用tuple来存储,这样解释器就不会用字典去存储实例属性的名字了,从而达到节约内存的目的,__slots__里面不能放不存在的实例属性名,否则会抛出一场,不加__slots__属性,python解释器会自动设...原创 2018-06-15 17:51:35 · 476 阅读 · 0 评论 -
python用链表实现堆栈(原创请勿转载)
单向链表模块在我前面的博客里面from 单向链表 import Linklist,Nodeclass Stack: def __init__(self): self.__stack = Linklist() def push(self,node): self.__stack.insert_after(node) def pop(se...原创 2018-06-07 15:46:00 · 1061 阅读 · 0 评论 -
python实现双向链表(原创请勿转载)
class Node: def __init__(self, i): self.prev = None self.next = None self.id = iclass DoubleDirectionList: def __init__(self): self.head = None self....原创 2018-06-07 11:15:03 · 727 阅读 · 0 评论 -
python实现双端链表(原创请勿转载)
class Node: def __init__(self, i): self.next = None self.id = iclass Linklist: def __init__(self): self.head = None self.tail = None def insert_after(se...原创 2018-06-06 18:47:15 · 398 阅读 · 0 评论 -
python通过functools.singledispath装饰器实现类似重载的功能
import functools@functools.singledispatchdef show(text): pass@show.register(str)def _(text): print(type(text))@show.register(int)def _(text): print(type(text))原创 2018-06-13 15:41:45 · 275 阅读 · 0 评论 -
python实现类似java接口类的功能
和java一样继承了接口类,必须实现原创 2018-06-13 16:31:57 · 1987 阅读 · 0 评论 -
python通过functools.lru_cache提升性能
可以看到循环只进行了5次,原因是此装饰器会记录以往函数运行的结果,避免参数重复时反复调用,达到提高性能的作用,在递归函数中作用特别明显原创 2018-06-13 15:44:03 · 2775 阅读 · 0 评论 -
python 实现单向链表(原创请勿转载)
之前有研究过Java的数据结构实现,现在用拿手的python来复现一下,附上代码class Node: def __init__(self, i): self.next = None self.id = iclass Linklist: def __init__(self): self.head = None def ...原创 2018-06-06 15:37:10 · 312 阅读 · 0 评论 -
使用contextlib.contextmanager实现上下文管理器
这个装饰器将函数包装成实现了__exit__和__enter__的类,yield之前的语句会在__enter__后执行,yield之后的语句会在__exit__后执行原创 2018-06-15 17:54:27 · 361 阅读 · 0 评论