函数
函数的概念:一块具有独立功能的代码块,重复使用,那么往往就需要使用函数把这块代码块封装成一个整体。
一、 函数的定义
格式:def 函数名():
函数代码
二、 函数的调用
格式:函数名()
三、 函数的文档说明
如果执行以下代码
能够看到 test函数 的相关说明信息
四、 函数参数
A、 正常参数
B、 缺省参数
缺省参数的概念:调用函数时,缺省参数的值如果没有传入,则被认为是默认值
注意:带有默认值的参数一定要位于参数列表的最后面,否则会报错
C、 不定长参数
不定长参数的概念:有时可能需要一个函数能处理比申明时更多的参数,这些参数叫不定长参数,申明时不会命名
- 加了星号 (*) 的变量 args 会存放所有未命名的变量参数,args为元组;加了两个星号 (**) 的变量 kwargs 会存放命名的参数,即形如: key=value 的参数,kwargs 为字典。
- 注意传递的参数对应
- 注意元组与字典的传参方式
- 注意不加星号与上面的区别
D、 引用传参
Python中函数参数是引用传递(注意不是值传递)。对于不可变类型,因变量不能修改,所以运算不会影响到变量自身;而对于可变类型来说,函数体中的运算有可能会更改传入的参数变量。
五、 局部变量
局部变量的概念:就是在函数内部定义的变量,不同的函数可以定义相同名字的局部变量
六、 全局变量
全局变量的概念:既能在一个函数中使用,也能在其他函数中使用,这样的变量就是全局变量
问1:全局变量和局部变量名字相同问题?
注意:如果全局变量的名字和局部变量的名字相同,那么使用的是局部变量。技巧:强龙压不过地头蛇
问2:如何在函数中修改全局变量的值?
注意:如果要在函数中修改全局变量,那么就需要使用 global 进行申明,否则会报错
问3:那么如何在函数中修改可变类型的全局变量呢?(如:列表)
注意:对于可变类型的全局变量,因其指向的数据可以修改,所以不使用 global 也可以修改全局变量
七、 函数返回值
问:在 python 中可不可以返回多个值?
注意:本质是利用了元组
八、 递归函数
递归函数的概念:自己调用自己本身的函数,这个函数就叫做递归函数
<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">