12 2018 档案
摘要:运行一次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不是无限大,所以递归调用过多会导致溢出)
阅读全文
摘要:函数递归1.递归必须有一个明确的结束条件 例如if +return
阅读全文
摘要:局部变量和全局变量 没有缩进 就是全局变量:在整个文件都能生效 ,在子程序中定义的就是局部变量,只在程序内部生效 1.如果无global,优先读取局部变量,能够读取全局变量,无法对全局变量重新赋值,但是对于可变类型,可以对内部元素可以操作,例如append 等操作 2.如果有global,变量就是全
阅读全文
摘要:2、Format方式 [[fill]align][sign][#][0][width][,][.precision][type] fill 【可选】空白处填充的字符 align 【可选】对齐方式(需配合width使用) <,内容左对齐 >,内容右对齐(默认) =,内容右对齐,将符号放置在填充字符的左
阅读全文
摘要:恢复内容开始 恢复内容结束 1、百分号方式 %[(name)][flags][width].[precision]typecode (name) 可选,用于选择指定的key flags 可选,可供选择的值有: + 右对齐;正数前加正好,负数前加负号; - 左对齐;正数前无符号,负数前加负号; 空格
阅读全文
摘要:print("I love U , my daughter")
阅读全文