python 函数
Posted wbyixx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 函数相关的知识,希望对你有一定的参考价值。
函数的定义
函数是由函数名、参数和函数体组成,格式如下:
def 函数名(形式参数):
函数体
[ return 返回值 ]
函数的调用
函数的调用很简单,我们只要根据函数的定义形式
将实际计算时的参数值传进去就行(也可能没有参数)
函数调用格式:
函数名(实际参数)
函数调用写的参数是实际参数(‘实际’体现在参数是实际执行函数使用的)
函数定义写的参数是形式参数(‘形式’体现在他只是个格式和形式,真正函数执行时候还是先看实际参数)
其实,Python有很多内置函数,例如我们之前课程常常使用的print()
print()函数是内置的,所以不用定义
参数的传递
函数调用时候,是将实际参数传递给形式参数
函数参数的传递方法有很多
1.参数按照位置顺序传递
2.参数按赋值传递
3.参数按照默认值传递
有时候,可以在函数定义里给函数形参设定一个默认值
当函数实参没有传递值进来,就使用默认值
4.(难点)元组类型的变长度参数传递
我们可以在参数前面加一个星号 * ,表示这个参数是可变长参数
当其他参数赋值完毕时候,剩下的参数依次赋值给这个可变长参数
5.(难点)字典类型的变长度参数传递
我们可以在参数前面加两个星号 ** ,表示这个参数是可变长参数
是以 实参名=字典值的方式传递
可变参数的位置一般写在最后,不能乱了顺序,否则会报错!!!
函数中变量的作用域
变量的作用域就是在程序中能对这个变量操作的区域范围
有点像初高中学的函数的定义域
Python允许同名变量的出现
当我们要使用变量时候,现在最近的区域搜索
内层函数的作用域只在内层函数中,不能延伸到外层函数
匿名函数
匿名函数,匿名指的是我们不知道这个函数的名字
当我们使用时候,用lambda来声明匿名函数
这种匿名函数是没有名字的,是临时使用的
格式:
函数对象名 = lambda 形式参数:表达式
当函数较为复杂时,不建议匿名函数,不太好写而且结构难理解
函数的递归
递归指的是一种直接或者间接调用自身的算法
它的本质是将问题分解为同类型的子问题
以上是关于python 函数的主要内容,如果未能解决你的问题,请参考以下文章