摘要:
匿名函数 (lambda) 匿名函数有个限制,只能有一个表达式,不用写return,返回值就是表达式的结果。 匿名函数也是一个函数对象,可以赋值给变量,通过变量调用。也可以作为返回值。 阅读全文
摘要:
高阶函数不但能够接收函数作为参数,也能够将函数作为结果值返回。 调用lazy_sum函数,每次调用都会返回一个新的函数,调用的结果互不影响。 返回的函数引用的变量i并不会立即执行,等到三个函数都返回时,i已经变成了3。 返回闭包时牢记一点:返回函数不要引用任何循环变量,或者后续会发生变化的变量。 上 阅读全文
摘要:
filter函数 接受一个函数和序列,把传入的函数依次作用于每个序列,然后根据返回值时True还是False保留或舍弃元素。 删除列表中的空字符串 sorted也是一个高阶函数,它能够接受key函数来进行排序。key指定的函数作用于列表里的每个元素上。默认从小到大排序,可用reverse = Tru 阅读全文
摘要:
iterator:迭代器 python的iterator是一个惰性序列(即你不主动去遍历它,他不会去计算其中元素的值) m是一个iterator,所以通过tuple()函数让整个序列计算出来,并返回一个元组。 map函数作为一个高阶函数,可以更快,更方便的对一些函数进行处理。 map函数接受的函数作 阅读全文
摘要:
高阶函数 函数名就是一个指向函数的变量,上面的abs可以看成一个指向可计算绝对值函数的变量。 abs作为变量,可以赋值,赋值以后的abs不再指向求绝对值的函数,一般不这样做。 既然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。 最简单的高 阅读全文
摘要:
软件开发中的一个原则:开放-封闭原则。 封闭:已实现的功能代码块不应该被修改 开放:对现有功能的拓展开放。 函数也是一个对象,函数对象可以赋值给一个变量,所以,通过变量也可以调用函数。 函数对象有一个__name__属性,可以得到函数的名字。 在代码运行期间动态增加功能的方式,称之为“装饰器”(De 阅读全文
摘要:
名称空间:名称空间存储的是变量名和变量名与对应的值之间的关系。关系以字典形式存储(比如x = 2,data = {x:273893},273893是2的地址) 名称空间分三种,如下: locals:函数内的命名空间,包括形参和局部变量。打印当前locals所在位置的变量,如果在函数外面就打印全局,如 阅读全文
摘要:
bytearray()返回一个新字节数组。 filter()快速过滤 lambda函数返回True的结果保留,返回False的结果去掉。 reduce() 默认换行,加入sep 可在空行之间插入。 tuple() callable()可以判断变量是否是函数,函数可以调用,返回True。 format 阅读全文
摘要:
abs() 取绝对值 dict() 数据转为字典 help() 帮助 min() 取最小值 max() 取最大值 setattr()未讲 all() 判断列表是否为True,有一个是False就是False。all([])返回True bool()判断True 还是False any() 列表中任意 阅读全文
摘要:
递归用途:不知道循环什么时候结束。同样的逻辑,当你需要在原来基础上重新执行这个逻辑,可用递归,可用循环。 递归的逻辑执行程序(可以用断点法来确认) 递归的返回值(输出最后一层的值。(判断语句下面return )) 递归的特性 必须要有明确的结束条件 每次进入更深一层递归,问题规模比上一层递归都应有所 阅读全文