我是靠谱客的博主 坚强柜子,最近开发中收集的这篇文章主要介绍【学习笔记】34、函数是Python的头等对象,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

函数是Python的头等对象

我们可以把函数分配给变量、存储在数据结构中、作为参数传递给其他函数,甚至作为其他函数的返回值等。

函数是对象

Python程序中所有的数据都是由对象或者对象之间的关系来表示的。

字符串、列表、模块等都是对象,函数也不例外。

 

函数对象及其名称是相互独立的实体。

 

Python在创建函数时为每一个函数附加一个用于调试的字符串标识符,使用“__name__”属性可以访问这个内部标识符。

虽然函数的“__name__”是yell,但是已经无法使用这个名称在代码中访问函数对象了,名称标识符仅仅用来辅助调试,指向函数的变量和函数本身实际上是彼此独立的。

函数可存储在数据结构中

由于函数是头等对象,因此可以像其他对象一样存储在数据结构中。

访问存储在列表中函数对象与访问其他类型的对象是一样的。

 

函数可传递给其他函数

由于函数是对象,因此可以将其作为参数传递给其他函数。

 

将函数对象作为参数传递给其他函数的功能非常强大,可以用来将程序中的行为抽象出来并传递出去。能接受其他函数作为参数的函数被称为“高阶函数”。Python中具有代表性的高阶函数是内置的map函数,map接受一个函数对象和一个可迭代的对象,然后在可迭代对象中的每一个元素上调用该函数来生成结果。

函数可以嵌套

Python允许函数中定义函数,这种称之为“嵌套函数”或“内部函数”。

 

如果要在外部访问嵌套的内部函数,需要将内部函数返回给父函数的调用者。

 

函数可捕捉局部状态

内部函数不仅可以从父函数返回,还可以捕获并携带父函数的某些状态。

 

内部函数没有text参数,但是仍可以访问在父函数中定义的text参数,这种行为就称之为“词法闭包”(lexical colsure),简称闭包。闭包在程序流不在闭包范围内的情况下,也能记住封闭作用域(enclosing scope)中的值。

实际上,这就意味着函数不仅可以返回行为,还可以预先配置这些行为。

 

对象也可作为函数使用

Python中所有的函数都是对象,反之则不成立,有些对象不是函数,但是也可以调用,因此在许多情况下可以将其当成函数来看待。

如果一个对象是可调用的,说明它可以使用圆括号函数调用的语法,甚至可以传入参数,这些都靠“__call__”方法完成。

 

一个对象是否可以调用,Python内置了callable函数。

 

 

最后

以上就是坚强柜子为你收集整理的【学习笔记】34、函数是Python的头等对象的全部内容,希望文章能够帮你解决【学习笔记】34、函数是Python的头等对象所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部