![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python库源码
文章平均质量分 65
gold615
这个作者很懒,什么都没留下…
展开
-
如何在 python 中实现内建函数的重载
python 重载内建函数原创 2022-09-26 00:44:27 · 357 阅读 · 0 评论 -
python线程可重入锁
RLock是Python的可重入锁,位于threading包中;它本身只是一个工厂函数,实际返回的是两个类型中的一个:def RLock(*args, **kwargs): if _CRLock is None: return _PyRLock(*args, **kwargs) return _CRLock(*args, **kwargs)可重入锁可以被拿到锁的线程多次获取,但必须以相同的次数释放,才能真正释放对锁的拥有权。根据环境不同,内部返回不同的对象,这里只讨论原创 2021-07-07 14:16:04 · 443 阅读 · 0 评论 -
python functools.lru_cache
当调用的函数是一些耗时操作且结果只与参数有关时,为了提高响应速率,可以使用这个函数作为装饰器,它本质是一个缓存池,一次新的计算后会缓存这次计算结果,当下次被调用时就有可能不用再计算,当然只是有可能,具体看后面的代码解读。假如有一个函数需要根据传入的字符串去硬盘上读取相应的文件文本并返回给用户,则可以这样使用:from functools import lru_cache@lru_cachedef readFile(filename:str): return open(filename)但是lr原创 2020-10-04 14:12:57 · 987 阅读 · 1 评论 -
python functools.wrap装饰器
这个装饰器是用来维护被装饰的方法中一些最基本的属性的 ,位于functools.py文件中,使用的格式如下:from functools import wrapsdef outer(f): @wraps(f) def inner(*args,**kwargs): return f(*args,**kwargs) return inner可以看到被装饰的方法被要求作为wraps的参数传入进去。它的原型如下:def wraps(wrapped,assigned原创 2020-10-04 12:14:00 · 730 阅读 · 1 评论