参数类型
必选参数
默认参数
可变参数
关键字参数
代码:
运行结果:
代码:
运行结果:
二、变量作用域介绍
一个程序的所有的变量并不是在哪个位置都可以访问的。访问权限决定于这个变量是在哪里赋值的。
变量的作用域决定了在哪一部分程序你可以访问哪个特定的变量名称。两种最基本的变量作用域如下:
全局变量
1、如果一个变量,既能在一个函数中使用,也能在其他的函数中使用,这样的变量就是全局变量
2、如果要再函数中修改全局变量,使用global声明
局部变量:
局部变量,就是在函数内部定义的变量。还有参数也是局部变量。
不同的函数,可以定义相同的名字的局部变量,但是各用个的不会产生影响
局部变量的作用,为了临时保存数据需要在函数中定义变量来进行存储,这就是它的作用
全局和局部变量重名
如果全局变量的名字和局部变量的名字相同,那么使用的是局部变量。
代码:
运行结果:
小结:
在函数外边定义的变量 和 用global声明的叫做全局变量
全局变量能够在所以的函数中进行访问
如果在函数中修改全局变量,那么就需要使用global进行声明
如果全局变量的名字和局部变量的名字相同,那么使用的是局部变量的,
小技巧强龙不压地头蛇。
递归函数:
如果一个函数在内部不调用其它的函数,而是自己本身的话,这个函数就是递归函数。
满足递归的条件:
有循环的内容
有跳出的条件
递归默认是有递归深度要求的。
例子:1 1 2 3 5 8 13 21 34 55 .......斐波那契数列
匿名函数:
用lambda关键词能创建小型匿名函数。这种函数得名于省略了用def声明函数的标准步骤。
lambda函数的语法只包含一个语句,如下:
lambda [arg1 [,arg2,.....argn]]:expression
注意:
Lambda函数能接收任何数量的参数但只能返回一个表达式的值
格式:lambda a,b: a+b
匿名函数:
例子:
代码:
运行结果:
代码:
运行结果:
sorted例子:
这里面的 x 就是 ls 中的 一个值,相当于遍历了ls这个列表。