2018年10月15日
摘要: 装饰器 本质就是函数,为其他函数添加附加功能。 原则: 1. 不修改被修饰函数的源代码; 2. 不修改被修饰函数的调用方式; 解压序列 装饰器实例 装饰器=高阶函数+函数嵌套+闭包 高阶函数不能实现装饰器 阅读全文
posted @ 2018-10-15 12:52 cherrydot 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 迭代器 1. 迭代器协议:对象必须提供一个next方法,执行改方法要么返回迭代中的下一项,要么就引起一个stopiteration异常,以终止迭代(只能外后走不能往前退) 2. 可迭代对象:实现了迭代器协议的对象,以下 不是迭代器对象 (字符串、列表、元组、字典、集合、文件对象) 3. 协议的一种约 阅读全文
posted @ 2018-10-15 09:39 cherrydot 阅读(130) 评论(0) 推荐(0) 编辑
  2018年10月14日
摘要: 文件没有修改操作,修改的方式为打开文件 读取文件 内存中编辑文件 将内容写入文件 打开文件方式 文件打开模式 + r 只读模式。如果文件不存在,返回异常FileNotFoundError,默认值; + w 覆盖写模式,文件不存在则创建,存在则完全覆盖; + x 创建写模式,文件不存在则创建,存在则返 阅读全文
posted @ 2018-10-14 22:33 cherrydot 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 常用内置函数 abs取绝对值 print(abs( 1)) 迭代对象中所有元素如果都是True,则为True,如果可迭代对象为空,也为True all([1,23,'2',44]) 迭代对象中有一个元素为True,则为True any([1,23,2,'33']) 布尔运算:空,None,0的布尔值 阅读全文
posted @ 2018-10-14 02:20 cherrydot 阅读(199) 评论(0) 推荐(0) 编辑
摘要: reduce将所有数据压缩到一起,得到一个最终的结果。 在python2中可以直接使用,在python3中需要导入 自己实现代码: 得到结果: 使用reduce方法 得到结果: 阅读全文
posted @ 2018-10-14 02:03 cherrydot 阅读(175) 评论(0) 推荐(0) 编辑
摘要: fileter功能主要使用在需要对数据进行多种操作,并对数据进行过滤的操作。 普通函数实现: 执行结果 使用filter函数实现 执行结果 阅读全文
posted @ 2018-10-14 01:43 cherrydot 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 编程方法论 面向过程 将编程过程拆分成多个步骤,在函数中按照每个步骤进行编程; 函数式编程 编程语言定义的函数+数学意义的函数 1、不可变,不用变量保存状态,不修改变量; 2、第一类对象,函数即变量 高阶函数:把函数当做参数传递给另外一个函数;返回值中包含函数。(装饰器) 3、尾调用:在函数的最后一 阅读全文
posted @ 2018-10-14 01:22 cherrydot 阅读(310) 评论(0) 推荐(0) 编辑
摘要: lambda表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数。 注意:lambda表达式是为了简单表达函数信息,如果函数过于复杂,建议使用定义一个命名函数,这样程序逻辑表达更加清晰。不要陷入为了使用lambda而使用lambda的境地。 匿名函数的语法形式为l 阅读全文
posted @ 2018-10-14 00:11 cherrydot 阅读(143) 评论(0) 推荐(0) 编辑
  2018年10月13日
摘要: 前景知识概要:python函数名代表的是函数名的地址,类似于c语言中的指针。如果需要调用python函数,则需要使用函数名()的形式调用。如果在函数中返回的是函数名,则返回的是函数名相应的内存地址,通过一个参数接受此内存地址,可运行返回的函数。 如下代码 如果函数有多次嵌套: 1、函数foo()则表 阅读全文
posted @ 2018-10-13 23:31 cherrydot 阅读(121) 评论(0) 推荐(0) 编辑
摘要: python中的函数和变量是一样的,需要先声明在调用。执行顺序是按照代码中的上下顺序执行的,如果先调用函数,在声明函数,则函数调用会失败。 阅读全文
posted @ 2018-10-13 22:48 cherrydot 阅读(272) 评论(1) 推荐(0) 编辑