linyawen

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年4月1日

摘要: Python函数式编程指南(四):生成器生成器是迭代器,同时也并不仅仅是迭代器,不过迭代器之外的用途实在是不多,所以我们可以大声地说:生成器提供了非常方便的自定义迭代器的途径。这是函数式编程指南的最后一篇,似乎拖了一个星期才写好,嗯……转载请注明原作者和原文地址:)4. 生成器(generator)4.1. 生成器简介首先请确信,生成器就是一种迭代器。生成器拥有next方法并且行为与迭代器完全相同,这意味着生成器也可以用于Python的for循环中。另外,对于生成器的特殊语法支持使得编写一个生成器比自定义一个常规的迭代器要简单不少,所以生成器也是最常用到的特性之一。从Python 2.5开始, 阅读全文
posted @ 2012-04-01 17:58 linyawen 阅读(367) 评论(0) 推荐(0) 编辑

摘要: Python函数式编程指南(三):迭代器这一篇我们将讨论迭代器。迭代器并不是函数式编程特有的东西,但它仍然是函数式编程的一个重要的组成部分,或者说是一个重要的工具。转载请注明原作者和原文地址:)3. 迭代器3.1. 迭代器(Iterator)概述迭代器是访问集合内元素的一种方式。迭代器对象从集合的第一个元素开始访问,直到所有的元素都被访问一遍后结束。迭代器不能回退,只能往前进行迭代。这并不是什么很大的缺点,因为人们几乎不需要在迭代途中进行回退操作。迭代器也不是线程安全的,在多线程环境中对可变集合使用迭代器是一个危险的操作。但如果小心谨慎,或者干脆贯彻函数式思想坚持使用不可变的集合,那这也不是什 阅读全文
posted @ 2012-04-01 17:57 linyawen 阅读(239) 评论(0) 推荐(0) 编辑

摘要: 这大概算是Python最难啃的一块骨头吧。在我Python生涯的这一年里,我遇到了一些Pythoner,他们毫无例外地完全不会使用函数式编程(有些人喜欢称为Pythonic),比如,从来不会传递函数,不知道lambda是什么意思,知道列表展开但从来不知道用在哪里,对Python不提供经典for循环感到无所适从,言谈之中表现出对函数式风格的一种抗拒甚至厌恶。我尝试剖析这个问题,最终总结了这么两个原因:1、不想改变,认为现有的知识可以完成任务;2、对小众语言的歧视,Python目前在国内市场份额仍然很小很小,熟悉Python风格用处不大。然而我认为,学习使用一种截然不同的风格可以颠覆整个编程的思想 阅读全文
posted @ 2012-04-01 13:43 linyawen 阅读(417) 评论(0) 推荐(1) 编辑

摘要: http://www.cnblogs.com/huxi/ 阅读全文
posted @ 2012-04-01 11:40 linyawen 阅读(406) 评论(0) 推荐(0) 编辑