参数匿名函数字典排序、生成式和生成器、装饰器的作用

参数匿名函数字典排序

*args就是一个元组
**dict就是字典

参数匿名函数字典排序、生成式和生成器、装饰器的作用

参数匿名函数字典排序、生成式和生成器、装饰器的作用

生成式和生成器

[x*x for x in range(0,10)] //列表生成式,这里是中括号
//结果 [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

(x*x for x in range(0,10)) //生成器, 这里是小括号
//结果 <generator object <genexpr> at 0x7f0b072e6140>

一个直接返回了表达式的结果列表, 而另一个是一个对象,该对象包含了对表达式结果的计算引用, 通过循环可以直接输出

参数匿名函数字典排序、生成式和生成器、装饰器的作用

生成式和生成器的区别:
当表达式的结果数量较少的时候, 使用列表生成式还好, 一旦数量级过大, 那么列表生成式就会占用很大的内存,而生成器并不是立即把结果写入内存, 而是保存的一种计算方式, 通过不断的获取, 可以获取到相应的位置的值,所以占用的内存仅仅是对计算对象的保存

yield可以输出多个值 return只能输出一个值(当函数碰到return就跳出整个函数,不会执行下面的):

参数匿名函数字典排序、生成式和生成器、装饰器的作用

参数匿名函数字典排序、生成式和生成器、装饰器的作用


本文转自 jiekegz  51CTO博客,原文链接:http://blog.51cto.com/jacksoner/2066593


上一篇:关于网页内容加速黑科技的趣谈


下一篇:webview可以获取网页源码,进行重新排版吗