分享

这个概念是每一个学习Python的人必须掌握的知识点(程序窗图文)

 山峰云绕 2018-04-29

https://www.toutiao.com/a6545251709935944205/



我陆陆续续在头条也写了一些进阶的文章,今天挑出一篇来讲讲!大家都知道的int,str,dict,list,class,模块这些都是对象,但是Python中其实一切皆对象,连函数也是对象,这比传统的静态语言Java要彻底的多。说到这里,有同学有点迷糊了,函数怎么也是对象的呢,其实我们平时都在把函数作为对象使用,只是你没有留心而已,不信花1-2分钟看完.

1.函数的对象特性

Python中的所有对象都有3个特征:身份,类型和值.

  • 身份:每个对象都有一个唯一的身份标识,都可以通过id获取

  • 类型:对象都是有类型的,这个类型会决定你有什么属性和方法

  • 值:对象所表示的数据

而这些特点函数都具备,我们举个小例子看一下:

这个概念是每一个学习Python的人必须掌握的知识点!

函数fun有类型: 它的类型是class.

函数fun有值: 有内存的地址

函数fun有身份: 4416351768

2.函数可以赋值:

一般的变量可以赋值,其实函数也可以赋值.

这个概念是每一个学习Python的人必须掌握的知识点!

func1象普通赋值一样赋给了func2,接着func2就可以直接当函数使用了。

3.函数可以当参数传递

通常我们参数一般都是字典,列表,或者字符等等,其实函数也可以当参数传递:

这个概念是每一个学习Python的人必须掌握的知识点!

another_fun函数有一个参数是func,fun函数当参数一样直接传递给了func.接着我们在another_fun()里面可以可以直接调用了.

4.返回值也可以是函数

相比传统的语言,Python里面的返回值设计已经比较灵活了,比如可以返回单个,也可以返回多个!竟然函数也可以当返回值返回,小伙伴不要惊讶,你经常玩的闭包,装饰器就是这么玩的。

这个概念是每一个学习Python的人必须掌握的知识点!

我们定义一个函数叫show_name,这个函数的返回值是一个函数。也就是说变量f就是返回的inner函数。所以我们可以用f('18')来执行函数

5.函数可以在字典里面使用

函数可以容器中使用,比如列表,字典里面象参数一样使用!下面举一个字典中使用的例子:

这个概念是每一个学习Python的人必须掌握的知识点!

我们把函数show_apple()和show_orange()当作变量一样放在字典里面,外边设计一个函数可以根据类别来动态的调用函数。这样的设计实战是太巧妙了

Python中一切皆对象,这个特性其实是Python语言灵活的根本!比如比较难的概念元类编程,猴子补丁。

这些概念都是基于Python一切皆对象之上的!Python进阶之路有很多技巧和知识点,对类的理解是重中之重!更多进阶技巧,可以来私信我一起讨论。私信关键词:Python。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多