博客
文章平均质量分 73
学习之后,结合自己感悟,写的文章。
funtrin
做大做强,再创辉煌!
展开
-
python使用小技巧
python使用小技巧1. 循环技巧当在字典中循环时,用 items() 方法可将关键字和对应的值同时取出。a = {'one': 1, 'two': 2, 'three': 3}for k, v in a: print(k, v) '''one 1two 2three 3'''当在序列中循环时,用 enumerate() 函数可以将索引位置和其对应的值同时取出。a = ['zero', 'one', 'two', 'three']for i, v in原创 2021-01-04 21:53:53 · 257 阅读 · 0 评论 -
python多线程详解(二)
线程本地数据(threading.local) 线程本地数据,其实是创建一个全局的类似于字典的数据类型,让所有的线程在访问此字典的时候只能访问自己的数据,将线程之间的数据分隔开,避免冲突import threadinglocal = threading.local()def one(): local.a = 0 for i in range(100): local.a += 1 print(local.a) returndef two()原创 2021-01-02 11:22:20 · 86 阅读 · 0 评论 -
python多线程详解(一)
python多线程详解(一)全局解释器锁(GIL) GIL是Python的一个历史遗留问题,它使同一时间只能有一个线程在使用解释器。 这样做的好处是,避免资源竞争,保证线程安全。但这样做同样会带来一定的问题,那就是性能低下,这也是python为什么这么慢的原因之一。创建线程 每运行一个程序,就会创建一个进程,在创建一个进程的同时也会创建一个线程(主线程),因为线程是计算机执行任务的最小单位,一个进程中可以包含多个线程,其他的线程都是由主线程创建的。 python通过自带的threadin原创 2021-01-01 19:15:12 · 140 阅读 · 0 评论 -
什么是*args和**kwargs?
什么是*args和**kwargs?1. 拆包 *和**可以很方便的分别实现元组(列表、集合)和字典的拆包,拆包顾名思义就是将容器中的元素给一个一个拆出来:ls1 = [1, 2, 3, 4]ls2 = [*ls1, 5, 6, 7]print(ls1)dic1 = {'one':1, 'two':2, 'three':3}dic2 = {**dic1 ,'four':4, 'five':5}print(dic2)'''[1, 2, 3, 4]{'one': 1, 'two':原创 2021-01-04 21:35:51 · 124 阅读 · 0 评论