5-python 函数


一、函数的特点

  1. 功能强大
  2. 调用方便
  3. 灵活高效

二、函数的基本形式

def <函数名>(参数):
    <函数语句>
    return <返回值>

注意点:
1.def 声明一个函数
2.函数名,可自定义,为了建议不必要的麻烦,不建议与python关键字、python内置函数重名
3.函数参数不是必须的,可以不填
4.即使函数不传入任何参数,()不可省
5.默认两个空格缩进的函数语句,表示属于该函数
6.return后可以没有返回值,甚至return语句也可以省略
7.return后没有返回值,或者没有return语句的,默认返回none
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、函数参数类型

无参函数

def hello():
    print("hello,world!")

有参函数

def new_count(a,b):
    result=a+b
    return result

在这里插入图片描述

四、必须参数

必须参数

#声明一个函数的时候,定义了多少个必填参数,调用的时候就必须传入多少个实参
#实参赋值的顺序,对应必须参数定义时候的顺序
#不建议定义太多必须参数
#如果需要定义多个必须参数,建议大家,可以把多个参数封装成一个对象,把对象传入到函数中

在这里插入图片描述

五、默认参数

def func_name(param1='default1',param2='default2'):
    pass

在这里插入图片描述

六、可变参数

序列解包

#序列解包,就是将序列中的元素平铺开来,按照顺序分别赋值给多个变量
#序列:字符串、列表、元组

在这里插入图片描述
在这里插入图片描述

可变参数
#对于可变参数,我们可以传入任意个参数,这些参数在函数调用时自动组装成一个tuple

在这里插入图片描述
在这里插入图片描述

七、可变关键字参数

可变关键字参数

#可变关键字参数,可传入任意个关键字参数,这些关键字参数的在函数调用的时候会自动组装成一个dict

在这里插入图片描述

八、可变参数&可变关键字参数区别

可变参数&可变关键字参数

可变参数
1.可传入任意个参数
2.可变参数在函数调用的时候会自动组装成一个tuple
3.如果传入的是一个序列(字符、列表、元组),可用*将每个元素平铺开来,传递到可变参数的函数里

可变关键字参数
1.可传入任意个参数
2.可变关键字参数在函数调用的时候会自动组装成一个dict,可用**将每个元素平铺开来,传递到可变关键字参数的函数里

九、函数参数类型顺序

函数中如果定义了必须参数,那么必须参数最好排在第一位 总结:
1.必须参数
2.可变参数
3.默认值参数
4.可变关键字参数
在这里插入图片描述
![
](https://img-blog.csdnimg.cn/20201030142130919.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5MjQ3MTUz,size_16,color_FFFFFF,t_70#pic_center)

十、变量作用域

函数作用域

1.L(local) 局部作用域
2.G(global) 全局作用域
3.E(enclosing)嵌套函数外层非全局作用域
4.B(built_in) 内嵌作用域

变量根据作用域的不同,可分为:

1.全局变量:自己编写的整个程序内
2.局部变量:自己编写的整个函数内
在这里插入图片描述

变量的引用:

在这里插入图片描述

python没有块级作用域

在这里插入图片描述

十一、作用域链

作用域链

1.函数内部引用变量,会优先引用最近局部变量
2.具有逐级向上引用的特性

在这里插入图片描述

十二、global关键字

global

函数外部,一般情况下不可以引用局部变量

怎么才能让函数外部可以引用函数内部局部变量呢?

在这里插入图片描述

1.使用global关键字,可以声明该变量为全局变量
2.可以声明多个全局变量

疑问:可否用global关键字,给安全局变量重新赋值

在这里插入图片描述

1.使用global关键字,可以声明多个局部变量为全局变量
2.使用global关键字,可以给全局变量重新赋值

十三、return的用法

return

1.程序运行第一个return语句之后,大多数情况下,会跳出该函数,不再执行之后的代码
2.函数内可能存在多个return,一般是与if语句搭配使用
3.return 支持返回多个结果

在这里插入图片描述

在这里插入图片描述

十四、实例:斐波那契数列

斐波那契数列

1,1,2,3,5,8,13,21,34,55,89… 这个数列,从第三项开始,每一项都等于前两项的和

F(1)=1 F(2)=1 F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)

在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值