摘要:
enumerate 用法:对序列做下标 (2, 'q')(3, 's')(4, 'd')5 q6 s7 d yield 和 send 特性 第1个人,吃了包子1第2个人,吃了包子2第3个人,吃了包子3第4个人,吃了包子4第5个人,吃了包子5a_next_方法: 1b I am valuesend方法 阅读全文
摘要:
运行一次yield 则暂停在此处,并返回一个值,下次继续运行,可以在next之前增加代码 生成器总结: 优点1:延迟计算,用于大数据 优点2:提高代码可读性 eval 计算字符串内的表达式,除了加减乘除,也会计算转化为字典 ps: 遍历next 只能从上到下执行一次 阅读全文
摘要:
生成器:理解为一种数据类型,自动实现了迭代器协议(已经包含了__iter__,可以直接用next方法): 生成器函数:使用yield语句而不是return语句,yield一次返回一个结果,没个结果中间挂起函数状态,以便下次继续执行 生成器表达式:把列表解析 []改成()就变成生成器表达式,更省内存 阅读全文
摘要:
windows 中回车是 \r\n unix/linux中是\n 迭代器和生成器和for循环工作原理 迭代器协议:对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么导致stoplteration异常,终止迭代 可迭代对象:实现来迭代器协议的对象(对象内部定义一个__iter__方法 阅读全文
摘要:
文件处理流程 1打开文件得到文件句柄并赋值给一个变量2通过句柄对文件进行操作3关闭文件 open() Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。 注意:使用 open() 方法一定要保证关 阅读全文
摘要:
map() 处理序列中每个元素,得到迭代器,该迭代器 元素个数和位置与原来一致 filter() 遍历序列中的每个元素,判断每个元素得到布尔值,如果是true则留下来 reduce:处理一个序列,然后把序列进行合并操作 max/min 后直接跟序列会返回此序列的最大/最小值 max(iterable 阅读全文
摘要:
filter 函数 filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。 该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素 阅读全文
摘要:
流程导图网站 https://www.processon.com/ 函数式编程 函数即变量 编程流派: 1.面向过程:找到解决问题的入口,按照一个固定的流程去模拟解决问题的流程2.函数体:编程语言定义的函数+数学意义的函数 高阶函数:a.函数接收的参数是一个函数名;b.返回值中包含函数 尾调用优化: 阅读全文
摘要:
函数作用域 函数运行的作用域和先前声明有关,和调用位置无关 匿名函数 lambda 行参:反馈值 匿名函数无复杂逻辑 阅读全文
摘要:
递归特性: 1必须有明确的结束条件2递归规模每次降低3递归效率偏低,容易导致栈溢出(函数是通过栈stack 这种数据结构实现的,调用一次函数,多增加一次栈帧,函数返回则减小一次,stack不是无限大,所以递归调用过多会导致溢出) 阅读全文