码迷,mamicode.com
首页 > 编程语言 > 详细

python函数学习

时间:2017-02-04 22:15:19      阅读:288      评论:0      收藏:0      [点我收藏+]

标签:代码   tle   变量   常见   isp   name   并且   height   生成器   

与其他语言不同,在这里函数也是可以作为参数被调用的(书上称为“一等公民”)

技术分享

配合参数收集关键字更见笑!

技术分享

  • 函数内部还可以定义函数
  • 内部函数可以看做一个闭包(闭包是一个可以由另一个函数动态生成的函数,并且可以改变和存储函数外创建的变量的值)???
  • 匿名哈数lambda(),用来代替小函数,定义回调函数???

生成器

这绝对是一个超级好用的东西。python有一些自带的生成器函数,如range()

技术分享

还可以定义自己的生成器函数,不同之处其返回语句由yield完成。

装饰器

本质:把一个函数作为输入并且返回另外一个函数。

在不影响源代码的前提下,可以增加一些想要的输出。常见的是:增加依据调试声明,以查看传入的参数

如:可以自己编写一段代码,输出源代码包含的函数,函数参数,以及参数调用过程,输出结果等信息。

通常使用一下python技巧:

  • *args, **kwargs
  • 闭包
  • 作为参数的函数

技术分享

另外也可直接在要装饰的函数前添加装饰器名字 @decorator_name:

技术分享

同一个函数可以由多个装饰器,靠近函数定义def的装饰器最先执行,然后依次向上。但是任何顺序都会是相同的结果。(装饰器永远是不会改变原代码的

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

python函数学习

标签:代码   tle   变量   常见   isp   name   并且   height   生成器   

原文地址:http://www.cnblogs.com/betweenworlds/p/6366425.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!