您的位置:首页 > 编程语言 > Python开发

python之函数基础篇

2016-06-06 20:18 351 查看
【函数的定义和调用】

{按位置传参}

def  函数名(arg1,arg2,arg3,...):
.....

函数名(object1,obj2,arg3,...)


{按关键字传参}

def  函数名(arg1,arg2,arg3,...):
.....

函数名(arg1=object1,arg3=obj2,arg2=obj3,...)


*带默认值

带默认值的参数要定义在所有不带有默认值的后面,但是如果加上按关键字传参则不会报错

def  函数名(arg1=100,arg2,arg3,...):
.....

函数名(arg1=object1,arg3=obj2,arg2=obj3,...)

def  函数名(arg1,arg2,arg3=100):
.....

函数名(obj1,obj2)


*可变位置参数

def 函数名(*arg):  ##arg is tuple,
....


{可变关键字参数}

传参的参数带有表示解包,形参带有表示打包

非可变参数必须要在可变参数之前

def 函数名(*arg)
...
li=[1,2,3,4]
函数名(*li)

def 函数名(**kwarg)  ##函数中的kwargs是一个字典
...
d={'name':'tom','age':23}
函数名(**d)

def func(i,j,*args):
...
func(1,2,'1',"a","abc")


【函数的返回值】

如果在函数中没有定义return的值,那么返回值就是None

函数返回多个值时,实际是返回一个元组

函数返回值可以是任何对象,包括函数。

python中函数递归的最大深度为1000

python中应尽量避免递归,绝大多数递归都是可以转换为迭代的,迭代要比递归快很多

【高阶函数】

函数可以作为函数的参数。像这样的函数称作高阶函数

filter(函数 or None,序列) ,这里以序列是列表为例,遍历列表,调用函数,函数返回为true的时候返回当前遍历的列表元素

map(函数,序列) 列表中的所有元素都放入函数执行一次

reduce(函数,序列) 这个函数必须为两个参数

下面截图为手工实现以上三个高阶函数的代码





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: