1. 因为函数是对象,所以很多构造能轻易的表达出来。比如我们要对下面的string做一些数据清洗:

python学习(4)函数

还有一种做法:

注意:这种操作很奇特,对于string的内奸函数需要使用str.xxx访问

python学习(4)函数

 一个更加函数化的方式能够让你方便的在一个高等级上转变一个string。可以把函数当做其他函数的参数,比如用内建的map函数,这个map函数能把一个函数用于一个***是哪个:

python学习(4)函数

2. 匿名函数(lamda函数)

函数只有一行,结果能返回值。下面两个函数是一样的效果,函数短小,不需要重用很多次

python学习(4)函数

3. 柯里化:局部参数应用

什么是柯里化?柯里化就是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数

的技术

4. 生成器(Generators)

生成器在python中很重要,能用来迭代序列,比如,迭代一个字典。

python学习(4)函数

当遇到for loop这样的情景时,一个生成器能产生object给python解释器。大部分方法,除了list之类的object,都能接受迭代器。

比如内建的函数min、max、sum或是类型构造器list、tuple;

生成器是用于构造迭代对象的间接方式。不像其他函数一口气执行完,返回一个结果,生成器是多次返回一个序列,每请求一次,才会返回一个。

用yield可以构建一个生成器。

python学习(4)函数

生成器表达式:与列表表达式相同,只不过使用括号:生成器表达式可以作为函数的参数,但是列表表达式不能作为函数的参数


















相关文章: