2018-10-11

[if !supportLists]一、[endif]匿名函数

   函数名= lambda参数列表:返回值

2018-10-11_第1张图片

S = lambda n1, n2: n1 + n2

2018-10-11_第2张图片


funcs[2](2)的值?

[if !supportLists]

二、[endif]变量的作用域

   变量声明后能够使用的范围

[if !supportLists]1、[endif]全局变量

是声明在函数、类的外面的变量

作用域-->声明开始到文件结束

[if !supportLists]2、[endif]局部变量

是声明在函数、类的内的变量

作用域-->在函数、类内部





[if !supportLists]3、[endif]global关键字

在函数中声明一个全局变量(类中不行)


2018-10-11_第3张图片

[if !supportLists]4、[endif]nonlocal关键字

在局部的局部中修改局部变量(只改变一层嵌套)


[if !supportLists]

三、函数作为变量

声明函数就是声明一个的变量

函数名=变量名

具有变量的功能


[if !supportLists]

四、[endif]函数作为参数

def fun(n:function):


 list1 = [    (10, 20),    (2, 90),    (2, 33)]list1.sort(key= lambda item: item[1])


[if !supportLists]

五、[endif]函数作为返回值

return函数

[if !supportLists]

六、[endif]函数调用

   调用过程是一个压栈的过程

每次调用时单独在栈中开辟一个内存,存储

函数中的变量,用完后自动释放


[if !supportLists]

七、[endif]递归函数

    函数调用自己-->递归函数


循环能做的递归也能做,但实际不怎么用(难)

[if !supportLists]1、[endif]怎么用递归

你可能感兴趣的:(2018-10-11)