day14函数

参数类型

必选参数

默认参数

可变参数

关键字参数

代码:

day14函数_第1张图片
day14函数_第2张图片
day14函数_第3张图片
结果:a=1   b=2  c=(3,4) d={‘name’:‘haha’,‘age’:18}

运行结果:

day14函数_第4张图片

代码:

day14函数_第5张图片

运行结果:

day14函数_第6张图片

二、变量作用域介绍

一个程序的所有的变量并不是在哪个位置都可以访问的。访问权限决定于这个变量是在哪里赋值的。

变量的作用域决定了在哪一部分程序你可以访问哪个特定的变量名称。两种最基本的变量作用域如下:

全局变量

1、如果一个变量,既能在一个函数中使用,也能在其他的函数中使用,这样的变量就是全局变量

2、如果要再函数中修改全局变量,使用global声明

局部变量:

局部变量,就是在函数内部定义的变量。还有参数也是局部变量。

不同的函数,可以定义相同的名字的局部变量,但是各用个的不会产生影响

局部变量的作用,为了临时保存数据需要在函数中定义变量来进行存储,这就是它的作用

全局和局部变量重名

如果全局变量的名字和局部变量的名字相同,那么使用的是局部变量。

代码:

day14函数_第7张图片
day14函数_第8张图片
day14函数_第9张图片

运行结果:

day14函数_第10张图片

小结:

在函数外边定义的变量   和  用global声明的叫做全局变量

全局变量能够在所以的函数中进行访问

如果在函数中修改全局变量,那么就需要使用global进行声明

如果全局变量的名字和局部变量的名字相同,那么使用的是局部变量的,

小技巧强龙不压地头蛇。

递归函数:

如果一个函数在内部不调用其它的函数,而是自己本身的话,这个函数就是递归函数。

满足递归的条件:

有循环的内容

有跳出的条件

递归默认是有递归深度要求的。

例子:1 1 2 3 5 8 13 21 34 55 .......斐波那契数列

day14函数_第11张图片

匿名函数:

用lambda关键词能创建小型匿名函数。这种函数得名于省略了用def声明函数的标准步骤。

lambda函数的语法只包含一个语句,如下:

lambda [arg1 [,arg2,.....argn]]:expression

注意:

Lambda函数能接收任何数量的参数但只能返回一个表达式的值

格式:lambda a,b: a+b

匿名函数:

例子:

代码:

day14函数_第12张图片

运行结果:

代码:

day14函数_第13张图片

运行结果:

sorted例子:

这里面的  x   就是    ls     中的   一个值,相当于遍历了ls这个列表。

day14函数_第14张图片

运行结果:

函数作为参数:

例子:

代码:

day14函数_第15张图片

运行结果:

day14函数_第16张图片

你可能感兴趣的:(day14函数)