专栏名称: 面包板社区
面包板社区——中国第一电子人社交平台 面包板社区是Aspencore旗下媒体,整合了电子工程专辑、电子技术设计、国际电子商情丰富资源。社区包括论坛、博客、问答,拥有超过250万注册用户,加入面包板社区,从菜鸟变大神,打造您的电子人脉社交圈!
目录
相关文章推荐
AHTV第一时间  ·  18℃!安徽马上升温! ·  8 小时前  
安徽司法  ·  安徽网络辟谣平台2025年1月辟谣榜发布 ·  10 小时前  
江西公安  ·  江西小伙杨文龙,摘金! ·  2 天前  
江西公安  ·  江西小伙杨文龙,摘金! ·  2 天前  
51好读  ›  专栏  ›  面包板社区

学习笔记:Python函数的定义与种类

面包板社区  · 公众号  ·  · 2024-03-18 20:00

正文

1、函数的定义与调用

函数是组织好的、实现单一功能或相关联功能的代码段。我们可以将函数视为一段有名字的代码,这类代码可以在需要的地方以“函数名()”的形式调用。

开发人员也可以根据自己的需求定义函数,Python中使用关键字def来定义函数,其语法格式如下:


函数在定义完成后不会立刻执行,直到被程序调用时才会执行。语法格式如下:函数名([参数列表])

无参无返回值函数:

无参无返回值函数:指函数定义时没有设置参数,也没有返回值。

无参无返回值函数:

无参有返回值函数:指函数定义时没有设置参数,有设置返回值。


有参无返回值函数:

有参无返回值函数:指函数定义时有设置参数,没有返回值.

有参有返回值函数:

有参有返回值函数:指函数定义时有设置参数,也有设置返回值.

2、函数参数的简单传递

我们通常将定义函数时设置的参数称为形式参数(简称为形参),将调用函数时传入的参数称为实际参数(简称为实参)。函数的参数传递是指将实际参数传递给形式参数的过程。

函数参数的简单传递可以分为位置参数传递、关键字参数传递、默认参数传递。

位置参数的传递:

函数在被调用时会将实参按照相应的位置依次传递给形参,也就是说将第一个实参传递给第一个形参,将第二个实参传递给第二个形参,以此类推。

关键字参数的传递:

关键字参数的传递是通过“形参=实参”的格式将实参与形参相关联,将实参按照相应的关键字传递给形参。

默认参数的传递:

函数在定义时可以指定形参的默认值,如此在被调用时可以选择是否给带有默认值的形参传值,若没有给带有默认值的形参传值,则直接使用该形参的默认值。

函数参数的复杂传递:

若希望函数能够处理的参数比当初定义的参数个数多,可以使用不定长参数。基本格式为在定义函数时为形参添加“*”或“**”。

在形参前面添加“*”表示接收位置参数传递的多个值,返回值为元组格式为:

格式为:
def 函数(*args):
函数体
return语句
若函数参数*args为空,则接受到的数据为空元组。

在形参前面添加“**”表示以关键字参数传递的多个值,返回值为字典格式为:
def 函数(**kwargs):
函数体
return语句
若函数参数**kwargs为空,则接受到的数据为空字典。

函数参数传递的方式在定义函数或调用函数时可以混合使用,但是需要遵循一定的规则,具体规则如下。

优先按位置参数传递的方式。
然后按关键字参数传递的方式。
之后按默认参数传递的方式。
最后按不定长参数传递的方式。

注意:在定义函数时:
带有默认值的参数必须位于普通参数之后。
带有“*”标识的参数必须位于带有默认值的参数之后。
带有“**”标识的参数必须位于带有“*”标识的参数之后。

局部变量和全局变量:

变量并非在程序的任意位置都可以被访问,其访问权限取决于变量定义的位置,其所处的有效范围称为变量的作用域。

根据作用域的不同,变量可以划分为局部变量和全局变量。

局部变量:

函数内部定义的变量,只能在函数内部被使用;函数执行结束之后局部变量会被释放,此时无法再进行访问。







请到「今天看啥」查看全文