python之函数基础篇

【函数的定义和调用】

{按位置传参}

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(函数,序列) 这个函数必须为两个参数
下面截图为手工实现以上三个高阶函数的代码
这里写图片描述

这里写图片描述

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值