当前位置: 首页 > 科技 > 人工智能 > 第54p,函数嵌套与函数对象,把函数当作参数使用_腾讯新闻

第54p,函数嵌套与函数对象,把函数当作参数使用_腾讯新闻

天乐
2020-08-01 00:40:43 第一视角

大家好,我是杨数Tos,这是《从零基础到大神》系列课程的第54篇文章,第三阶段的课程:Python进阶知识:Python进阶知识:详细讲解Python中的函数(七)====> 函数的嵌套调用。

函数是非常重要的内容,在这里,我会用10篇左右的文章详细讲解Python中函数定义与使用的规则。

阅读提醒:建议小白先看一遍:【计算机基础知识】和【Python基础知识】课程,否则你不一定听得懂!

一、什么是函数嵌套调用

函数的嵌套指的是用一个函数调用另一个函数,从而实现需求;前面的文章中有出现过函数嵌套的例子,在实际开发过程中,基本上都会用到嵌套函数。

1、定义阶段就进行了嵌套定义

定义嵌套,子函数只属于母函数;

包括:函数对象、闭包函数、装饰器、生成器、函数的递归调用都是属于在定义阶段就进行了函数嵌套。

在定义阶段;在一个函数内再定义了一个函数;

二、函数嵌套时,作用域与名字的查找关系

在Python中,名称空间与作用域分为三种:内置、全局、局部;

函数嵌套使用的情况下,作用域与名字的查找关系,遵循局部>全局 > 内置,这样的由内往外查找的方式;以变量所以位置作为起始点,向外层查找名字。

例如:变量在全局时,直接在全局中查找;变量在局部时,就先在局部中查找,局部没有,向全局中查找;

三、函数对象的介绍

函数对象就是指把函数当成变量使用;

 把函数当作参数传到另一个函数中,传的就是函数名称的内存地址;例如:fun3(fun);

 把函数当作另一个函数的返回值;

 把函数赋值,当作变量使用;例如:x = fun,然后执行 x(5),x传参,执行函数体功能;

 把函数当作容器类型的一个元素;例如:list = [fun,],调func为:list[0],执行fun函数体list[0]()。

用了个小例子说明:

【def xu():

return 1111

def fun(x):

return x

y = fun(xu)

print(y())】

说明:函数y=fun(x)这一行表示,y=x这个函数名的内存地址

y()就表示 xu(),所以最后得到的是x这个函数的返回值,结果是1111。

以上是本期内容,如果有表达不对的内容,欢迎您的留言、斧正,我们一起天天向上。

感谢您的阅读,您的三连【关注、点赞、收藏】就是对我最大的支持,谢谢!

本文由杨数Tos原创,欢迎关注,带你一起长知识。

提示:支持键盘“← →”键翻页
为你推荐
加载更多
意见反馈
返回顶部