函数

函数

函数的概念:一块具有独立功能的代码块,重复使用,那么往往就需要使用函数把这块代码块封装成一个整体。

一、 函数的定义

    格式:def 函数名():
              函数代码

二、 函数的调用

    格式:函数名()

三、 函数的文档说明


如果执行以下代码

能够看到 test函数 的相关说明信息

四、 函数参数

A、 正常参数


B、 缺省参数

缺省参数的概念:调用函数时,缺省参数的值如果没有传入,则被认为是默认值


注意:带有默认值的参数一定要位于参数列表的最后面,否则会报错

C、 不定长参数

不定长参数的概念:有时可能需要一个函数能处理比申明时更多的参数,这些参数叫不定长参数,申明时不会命名
  • 加了星号 (*) 的变量 args 会存放所有未命名的变量参数,args为元组;加了两个星号 (**) 的变量 kwargs 会存放命名的参数,即形如: key=value 的参数,kwargs 为字典。
  1. 注意传递的参数对应
  2. 注意元组与字典的传参方式
  3. 注意不加星号与上面的区别

D、 引用传参

Python中函数参数是引用传递(注意不是值传递)。对于不可变类型,因变量不能修改,所以运算不会影响到变量自身;而对于可变类型来说,函数体中的运算有可能会更改传入的参数变量。

五、 局部变量

局部变量的概念:就是在函数内部定义的变量,不同的函数可以定义相同名字的局部变量

六、 全局变量

全局变量的概念:既能在一个函数中使用,也能在其他函数中使用,这样的变量就是全局变量
问1:全局变量和局部变量名字相同问题?



注意:如果全局变量的名字和局部变量的名字相同,那么使用的是局部变量。技巧:强龙压不过地头蛇

问2:如何在函数中修改全局变量的值?



注意:如果要在函数中修改全局变量,那么就需要使用 global 进行申明,否则会报错

问3:那么如何在函数中修改可变类型的全局变量呢?(如:列表)



注意:对于可变类型的全局变量,因其指向的数据可以修改,所以不使用 global 也可以修改全局变量

七、 函数返回值

问:在 python 中可不可以返回多个值?



注意:本质是利用了元组

八、 递归函数

递归函数的概念:自己调用自己本身的函数,这个函数就叫做递归函数


<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

posted on 2019-09-02 14:20  wawzzll  阅读(151)  评论(0编辑  收藏  举报

导航