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