Python函数

Python函数

一、函数定义:
在这里插入图片描述
二、函数参数:
1、形式参数和实际参数:
定义的时候的参数是形式参数,调用时的参数是实际参数
就好像数学里y=sin(x)和y=sin(0)的区别
在这里插入图片描述
2、位置参数、关键字参数、默认参数、可变参数
①.位置参数(必备参数)
函数定义时设置了几个位置参数,函数调用时必须传入几个参数
函数调用时的数量,位置,参数类型必须和定义时的一致。
举例说明:我们定义一个han5函数,它包含3个位置参数,当调用han5函数时,则必须传入3个参数
在这里插入图片描述
调用han5时必须传入三个参数,并得到结果:在这里插入图片描述
在这里插入图片描述

②、关键字参数

函数调用时,使用形参的名字=输入的参数值,此时顺序可与定义时不一致。(“按名分配”)

用上面的“han5”函数举例的话,就是调用时这样传参:
在这里插入图片描述
由于传参的顺序与定义时的顺序不一致,所以输出的值为:
在这里插入图片描述

③.默认参数
可以理解为具有默认值的位置参数
如:在这里插入图片描述
在这里,z是默认值参数,其默认值为300
调用时,默认值可以不输入:
在这里插入图片描述
但是,如果对默认值参数进行了传值,则函数会按照传输的值进行计算:在这里插入图片描述

但是,调用时给默认值传输的值,并不影响参数的默认值:
在这里插入图片描述
第二次调用时,z的值依旧是默认值300

但是:默认参数的默认值只执行一次。在默认值为可变对象(列表、字典等)时,函数会存储在后续调用中传递给它的参数:
在这里插入图片描述
y一开始是一个空列表

④.不定长参数

不定长参数有两种形式:一种是*参数,另一种是**参数

*参数:表示将任意多个参数放到一个元组中。

**参数:表示将多个参数放到一个字典中

三、函数返回值:
1、单个return或无return:返回none
在这里插入图片描述
2、return返回一个值:这个值是什么就返回什么
在这里插入图片描述
3、return返回多个值:返回一个元组
在这里插入图片描述
四、局部变量和全局变量:
局部变量是在函数内进行定义和调用的;
全局变量是在函数外进行定义,可以在函数内外所有地方调用。

1、如果在函数外调用局部变量会报错:
在这里插入图片描述运行的结果是:
在这里插入图片描述
会报错找不到“a”这个变量

2、在函数内的局部变量和全局变量同名时,可能会报错:
在这里插入图片描述
运行的结果是:
在这里插入图片描述
解释器不清楚变量是全局变量还是局部变量。
这种问题可以用global关键字解决:
在这里插入图片描述
global关键字会告诉译器这里的这个变量不是局部变量而是全局变量
运行结果为:在这里插入图片描述
而如果要声明该变量是全局变量而非局部变量,则要用到nonlocal关键字,用法同global关键字。

五、匿名函数lambda:是指一类无需定义函数名的函数或子程序。
lambda 函数可以接收任意多个参数 (包括可选参数) 并且返回单个表达式的值

1、lambda函数语法:
lambda args: expression
其中:
args表示参数
expression:匿名函数返回值的逻辑表达式

2、lambda函数的特性:
lambda函数没有名字。
lambda函数输入:传入到参数列表argument_list的值;
输出:表达式expression计算得到的值
lambda函数一般功能简单,只能完成非常简单的功能

3、在有些函数只是临时一用,而且逻辑也很简单时,就没必要专门给它取个名字,可以用lamba函数,如:
在这里插入图片描述
六、函数的嵌套
可以在一个函数里面再定义一个函数,如:
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值