在Python中函数名可以作为一个函数的参数来进行输入。
首先在add函数中,f是一个普通的参数,可以传入一个数值,而在调用的时候传入的是一个函数,这在Python中是可以的;所以返回值那块就可以理解为,abs(-5)+abs(-6)==11
map()高阶函数:map函数接受两个参数,第一个是函数名,第二个是一个可迭代的参数,比如一个list;
如果只输出r的话,会告诉你这是一个map对象的地址0x就是16进制数的意思,这时候我们用list来打印这个map;
filter()函数:用于从一个序列中筛选出符合条件的元素,首先需要定义一个筛选函数,然后根据筛选函数返回的结果是true还是false来决定是否保留这个元素,比如在一个序列中,删除偶数,只留下奇数;首先定义一个筛选函数, 然后运用filter来依次访问列表L中的元素,根据返回的结果是否是true来决定是否要留下此元素。
reduce()函数:用于操作列表中的元素来生成一个结果,同样是传人两个参数,第一个参数是操作函数名,第二个是一个列表,
,这个意义就在于把一个列表中的元素链接成一个整数。如果再复杂一点,map()和reduce连用,可以把一个字符转换为一个整数。
注意,一个dict{}后面接[s],是读取key=s的value的意思。
sorted()函数:用于排序列表,也可以指定相应的key函数,来对列表进行排序,key函数会作用于列表的每一个,作用完以后再排序,但是key函数却不会影响列表的值,结果依然是列表的原有元素;;要进行反向排序,不必改动key函数,可以传入第三个参数
reverse=True:
匿名函数:匿名函数实际上就是一个函数返回值,因为他只有一个表达式,表达式就是一个函数返回值,表示形式为lambda x:x*x;
匿名函数,也可以作为函数返回值返回,但是要记住一点,返回的是一个函数,需要用一个变量来接受这个返回值,才能顺利传进参数,而且调用这个变量时,必须是函数形式;
浙公网安备 33010602011771号