函数
def 函数名():
def printme( str ):
"打印任何传入的字符串"
print str
return
形参和实参:
关键字参数:
参数默认值:
收集参数:
区别局部变量和全局变量
函数内部修改全局变量后,全部变量在外部不会改变
lambda
lambda定义了一个匿名函数
lambda 并不会带来程序运行效率的提高,只会使代码更简洁。
lambda 是为了减少单行函数的定义而存在的。
g = lambda x:x+1
相当于
def g(x):
return x+1
filter map reduce
>>> foo = [2, 18, 9, 22, 17, 24, 8, 12, 27]
>>>
>>> print filter(lambda x: x % 3 == 0, foo)
[18, 9, 24, 12, 27]
>>>
>>> print map(lambda x: x * 2 + 10, foo)
[14, 46, 28, 54, 44, 58, 26, 34, 64]
>>>
>>> print reduce(lambda x, y: x + y, foo)
139
递归
例:
求阶乘:
def f(x):
if x==1:
return 1
else :
return x*f(x-1)