python 函数

Posted wbyixx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 函数相关的知识,希望对你有一定的参考价值。

 

函数的定义

函数是由函数名、参数和函数体组成,格式如下:

def 函数名(形式参数):

函数体

[ return 返回值 ]

 

函数的调用

函数的调用很简单,我们只要根据函数的定义形式

将实际计算时的参数值传进去就行(也可能没有参数)

函数调用格式:

函数名(实际参数)

函数调用写的参数是实际参数(‘实际’体现在参数是实际执行函数使用的)

函数定义写的参数是形式参数(‘形式’体现在他只是个格式和形式,真正函数执行时候还是先看实际参数)

其实,Python有很多内置函数,例如我们之前课程常常使用的print()

print()函数是内置的,所以不用定义

 

参数的传递

函数调用时候,是将实际参数传递给形式参数

函数参数的传递方法有很多

1.参数按照位置顺序传递

2.参数按赋值传递

3.参数按照默认值传递

有时候,可以在函数定义里给函数形参设定一个默认值

当函数实参没有传递值进来,就使用默认值

4.(难点)元组类型的变长度参数传递

我们可以在参数前面加一个星号 *  ,表示这个参数是可变长参数

当其他参数赋值完毕时候,剩下的参数依次赋值给这个可变长参数

5.(难点)字典类型的变长度参数传递

我们可以在参数前面加两个星号 **  ,表示这个参数是可变长参数

是以 实参名=字典值的方式传递

可变参数的位置一般写在最后,不能乱了顺序,否则会报错!!!

 

函数中变量的作用域

变量的作用域就是在程序中能对这个变量操作的区域范围

有点像初高中学的函数的定义域

Python允许同名变量的出现

当我们要使用变量时候,现在最近的区域搜索

内层函数的作用域只在内层函数中,不能延伸到外层函数

 

 

匿名函数

匿名函数,匿名指的是我们不知道这个函数的名字

当我们使用时候,用lambda来声明匿名函数

这种匿名函数是没有名字的,是临时使用的

格式:

函数对象名 = lambda 形式参数:表达式

技术分享图片

当函数较为复杂时,不建议匿名函数,不太好写而且结构难理解

 

函数的递归

递归指的是一种直接或者间接调用自身的算法

它的本质是将问题分解为同类型的子问题

 

以上是关于python 函数的主要内容,如果未能解决你的问题,请参考以下文章

Python函数

Python3 Python 函数式编程

Python2 与 Python3 的 map 函数

Python3基础-函数

Python函数部分

Python 递归函数