python函数详解

函数和过程的区别:

过程就是没有返回值的函数(没有return语句),默认返回None。

函数可变长参数:

*元组,**字典

(*args, **kwargs)

全局变量和局部变量:

在函数内修改全局变量时要先声明:global variable

global: 全局

local: 局部

nonlocal:上一级

风湿理论:

函数即变量,函数名可以看成变量名,函数体被当成字符串存在内存中,函数名指向这个内存快。

匿名函数:

lambda 形参:返回值

func = lambda x: x+1
print(func(10))

函数式编程:

1.不用变量保存状态,不修改变量。

2.函数即变量,把函数当成参数传递给另一个函数。

高阶函数:

1.函数接受参数包含函数

2.函数返回值包含函数

map,filter(返回的是一个迭代器)

num = [1,2,3,4,5]
print(list(map(lambda x: x+1, num)))
print(list(filter(lambda x: x>2, num)))

 

num必须是可迭代对象,map,filter函数把方法作用于num的每个元素上

 reduce(返回的是一个数)

from functools import reduce
num = [1,2,3,4,5]
print(reduce(lambda x,y: x+y, num, 0))

 zip

print(list(zip('xmm','123')))

 

posted @ 2019-06-05 21:54  AI_Engineer  阅读(170)  评论(0)    收藏  举报