传承中华五千年历史文化! 读史使人明智!鉴以往而知未来!
0

第54p,函数嵌套与函数对象,把函数当作参数使用

2022.07.12 | 万里繁华 | 次围观

大家好,我是杨数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]()。

用了个小例子说明:

【defxu():

return1111

deffun(x):

returnx

y=fun(xu)

print(y())】

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

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

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

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

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

单字解释: 第 函 数 嵌 套 与 函 数 对 象 把 函 数 当 作 参 数 使 用
版权声明

本文仅代表作者观点,不代表历史迷立场。
本文系作者授权历史迷发表,未经许可,不得转载。