EfonMark

一番码客 : 挖掘你关心的亮点。
http://www.efonmark.com

本文目录:

[TOC]

image-20200504220123868

匿名函数

当调用函数时, 有时不需要显示定义好一个函数, 直接传入一个匿名函数更为方便。
python可使用lambda表达式创建匿名函数。

1
lambda 参数1[, 参数2, ...参数n]:表达式

lambda函数有如下特点:

  • lambda只是一个表达式,函数体比def简单很多;
  • lambda的主题有且只有一个表达式,而不是代码块;
  • lambda函数拥有自己的命名空间,不能访问自己参数列表之外或者全局命名空间里的参数。

例子一:使用匿名函数实现两个数字求和功能:

1
!usr/bin/env python
2
func = lambda x,y:x+y
3
print(func(1,2))

说明:

  • 匿名函数由于没有函数名称,因此可以避免函数名称的冲突。
  • 匿名函数同样可以作为返回值返回。

偏函数

偏函数是functools.partial()函数,将原函数当做第一个参数传入,原函数的各个参数依次作为partial()函数后续的参数。

functools.partial()的作用是把一个函数其中的一些参数设置为默认值, 返回一个新的函
数, 调用这个新的函数更加简单。

例子一:将int()函数封装为默认base为2的偏函数。

1
import functools
2
int2 = functools.partial(int,base=2)
3
print(int2('0011'))
4
print(int2('1111'))

说明:

  • int()函数功能时把字符串转换为整数,int()函数的提供了一个参数base,其默认值为10,即将字符串转换为10进制。
  • 使用functools.partial()函数可以通过将base设置为2构建一个转换为2进制的偏函数。
  • 使用偏函数的好处是当大量需要改变函数的默认值的时候,可以避免重复赋默认值。
参考:
- 《物联网Python开发实战》
免费知识星球:一番码客-积累交流
微信公众号:一番码客
微信:Efon-fighting
网站:http://www.efonmark.com

蜀ICP备19039940号

总访问量为