内置函数

绝对值 abs(-1) 

最大值 max(1,2,3..)

转整数 int('123')  

转小数 float('12.34')  

转字符串 str(123)  

转bool bool(p)

转16进制 hex(15)

转小写 lower()

添加元素 append(x)

检查类型 isinstance(x,(int,float))  isinstance('ABC',Iterable)

list转索引-元素对 enumerate(['A','B','C'])

列表生成式 list(range(1,11))    [x*x for x in range(1,11)]   [x*x for x in range(1,11) if x%2==0]    [m+n for m in 'ABC' for n in 'XYZ']

生成器 generator    g=(x*x for x in range(1,11))     next(g)

自定义函数

必选参数、默认参数、可变参数、命名关键字参数、关键字参数

def f1(a, b, c=0, *args, **kw):
    print('a =', a, 'b =', b, 'c =', c, 'args =', args, 'kw =', kw)

def f2(a, b, c=0, *, d, **kw):
    print('a =', a, 'b =', b, 'c =', c, 'd =', d, 'kw =', kw)

*args是可变参数,args接收的是一个tuple;

**kw是关键字参数,kw接收的是一个dict。

 高级特性

凡是可作用于for循环的对象都是Iterable类型;

凡是可作用于next()函数的对象都是Iterator类型,它们表示一个惰性计算的序列;

 函数式编程

map()函数接收两个参数,一个是函数,一个是Iterablemap将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回;

reduce()把一个函数作用在一个序列[x1, x2, x3, ...]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算,

reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)