函数-day4

  1. 函数的基本定义

使用关键字def定义函数,实参是必传参数,形参是位置参数,默认的参数必须放在位置参数后面。

 

2.函数的封装调用

return总结:

1.遇到return. 此函数结束, 函数后⾯的东⻄将不会再执⾏

2. return什么都不写 或者 干脆不写return 默认返回值为None

3.return后面写了一个值. 则调用者可以接收⼀个结果

4.return后面写了多个结果, 则调用者可以接收一个tuple, 调用者可以直接解构成多个变量

3.判断小数点函数

1.小数点个数可以使用.count()方法
2.按照小数点进行分割 例如: 1.98 [1,98]
3.正小数:小数点左边是整数,右边也是整数 可以使用.isdigits()方法
4.负小数:小数点左边是是负号开头,但是只有一个负号,右边也是整数

 

4.函数的位置传参和关键字传参

位置传参

调用函数时根据函数定义的参数位置来传递参数必传参数也叫做位置参数,因为必填,也必须一一对应位置

关键字传参

传进去的是0个、或多个键-值”key=value的形式,关键字传参后,后面不能再写位置参数了可以让函数更加清晰、容易使用,同时也清除了参数的顺序需求

5.不定长参数*args和 **kwargs

调用函数的时候可以传0个或者多个

  1. *args:接收多传入的位置参数,以元祖的形式保存(只能位置传参)

*args,args接收的是一个元祖调用的时候可以直接传入

func(*(11,22,33,44,55,66,77));

  1.  **kwargs:接收多传入的关键字参数,以字典的形式保存(只能关键字传参)

**kwargs,kw接收的是一个字典关键字参数既可以直接传入

func(11,22,e=33,h=44,f=55,d=66,c=77)

  1. 也可以先组装dict再通过**kw传入

func(**{'e':33,'h':44,'d':66,'c':77})

6.函数的递归

在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。(自己调用自己)

递归的特性:

1、递归函数必须有一个明确的结束条件。

2、每进入更深一层的递归时,问题规模相对于上一次递归都应减少

3、相邻两次重复之间有紧密的联系,前一次要为后一次做准备(通常前一次的输出就作为后一次的输入)。

4、递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出)

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值