- 博客(5)
- 收藏
- 关注
原创 函数参数中的可变对象作为参数之坑
def func(l=[]): l.append('end') return lprint(func([1,2,3,6]))print(func(['a','b','c']))突然一看,似乎没什么问题,确实是没什么问题。下面来坑了咋一看,好像感觉是错的,理想中的运行结果应该都是['end']才对,可是运行结果是出乎意外的。查阅资料后,才明白。其中理解是这样的:执行两次func(),都没有传实参进去,我是这样理解的,没有传实参,所以默认都是同一个参数,上图中的l是..
2021-08-26 15:43:09
201
原创 生成器函数
函数就是用def定义的,生成器函数就是在函数的基础上,函数体内部有yield关键字,这就是生成器函数def func(): yield 1 yield 2 yield 3这就是生成器函数对于生成器函数的取值,首先要用一变量来接收yield返回的值,即变量=函数()f=func()此时,f就是一个生成器对象对于取值,可以用next(f)依次遍历...
2021-08-24 07:55:43
193
原创 进程池间的通信
import timefrom multiprocessing import Processfrom multiprocessing import Managerfrom multiprocessing import Pooldef write(queue): for i in range(10): print(f'往队列中放入元素{i}') queue.put(i) time.sleep(1)def read(queue): .
2021-08-23 08:58:00
187
原创 生成器的创建
生成器的创建有两种方式。一是通过生成器推导式创建;列表推导式是这样创建的:list1=[i for i in range(5)]生成器推导式的创建是这样的,把列表推导式的最外层的[]换成(),就可以了,其他不变。即:gen=(i for i in range(3)生成器的取值有两种方式。一是通过for...in...遍历取值 ,代码如下:gen = (i for i in range(10))for i in gen: print(i)另一种是通过调用n..
2021-08-23 08:04:32
202
原创 类的实例化
from collections.abc import Iterator, Iterableclass Person(): def __init__(self): self.i = 1 def __iter__(self): return self def __next__(self): if self.i <= 100: ret = self.i self.i += 1.
2021-08-23 07:12:49
152
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人