- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 mac 上最好用的SSH终端FinalShell
之前一直想在mac上寻找一个界面比较好看的可以代替Xshell的软件,后来又人推荐了我FinalShell,使用了一下,确实界面优美,关键还是免费的,不多说上附上mac的FinalShell安装方法Mac版安装路径/Applications/finalshelldata1.FinalShell运行需要java或者jdk支持,java版本至少1.8,安装后如果无法启动,运行 ja...
2018-08-02 11:44:54
6947
2
原创 使用contextlib.contextmanager实现上下文管理器
这个装饰器将函数包装成实现了__exit__和__enter__的类,yield之前的语句会在__enter__后执行,yield之后的语句会在__exit__后执行
2018-06-15 17:54:27
353
原创 python通过__slots__优化内存
当程序需要大量实例的时候,可以用__slots__去实现内存优化,因为python解释器会创建__dict__属性去存储所有类实例的名字,我们知道因为哈希表的原因,字典的内存消耗比较大,我默认用tuple来存储,这样解释器就不会用字典去存储实例属性的名字了,从而达到节约内存的目的,__slots__里面不能放不存在的实例属性名,否则会抛出一场,不加__slots__属性,python解释器会自动设...
2018-06-15 17:51:35
469
原创 python通过functools.lru_cache提升性能
可以看到循环只进行了5次,原因是此装饰器会记录以往函数运行的结果,避免参数重复时反复调用,达到提高性能的作用,在递归函数中作用特别明显
2018-06-13 15:44:03
2771
原创 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
268
原创 python链表实现队列(原创请勿转载)
from 双端链表 import Linklist, Nodeclass MyQueue: def __init__(self, max_num): self.max_num = max_num self.queue = Linklist() def append(self, node): if self.queue.getLe...
2018-06-07 19:02:21
674
原创 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
1057
原创 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
722
原创 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
396
原创 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
305
原创 python多线程的优雅使用
笔者作为一名python职业玩家,仔细研究了下python多线程的使用方法,记录下学习的过程python中的threading模块是专门用来处理多线程并发的情况,废话少说,直接上代码import threadingclass MyThread(threading.Thread): def __init__(self, signal): threading.Thread...
2018-04-11 14:05:54
296
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人