Python语言的高级特性
函数式编程(FunctionalProgramming)
-
基于lambda演算的一种编程方式
- 程序中只有函数
- 函数可以作为参数,同样可以作为返回值
- 纯函数式编程语言: LISP, Haskell
-
Python函数式编程只是借鉴函数式编程的一些特点,可以理解成一半函数式一半Python
- 需要讲述
- 高阶函数
- 返回函数
- 匿名函数
- 装饰器
- 偏函数
Python的functools
模块提供了很多有用的功能,其中一个就是偏函数(Partial function)
int()
函数可以把字符串转换为整数,当仅传入字符串时,int()
函数默认按十进制转换
>>> int('12345')
12345
但int()函数还提供额外的base参数,默认值为10。如果传入base参数,就可以做N进制的转换
>>> int('12345', base=8)
5349
>>> int('12345', 16)
74565
# 新建一个函数,此函数是默认输入的字符串是16进制数字
# 把此字符串返回十进制的数字
def int16(x,base=16):
return int(x,base)
i16 = int16("123")
print(i16)
291
functools.partial
就是帮助我们创建一个偏函数的,不需要我们自己定义
import functools
#实现上面int16的功能
i16 = functools.partial(int,base=16)
print(i16("123"))
291