按产品、主题或内容类型过滤

(0 产品)

(100 主题)

(0 行业)

(2 类别)

第 1 - 44 条,共 44 条
显示内容简介 | 隐藏内容简介
查看结果
题目 none 日期 down
可爱的 Python: 使用 mechanize 和 Beautiful Soup 轻松收集 Web 数据
需要从 Web 页面收集数据时,可以使用 mechanize 库自动从 Web 站点收集数据并与之交互。通过 Mechanize 您可以填充表单并设置和保存 cookies,此外,Mechanize 提供了各种各样的工具来使 Python 脚本具备真正的 Web 浏览器的功能,可以与交互式 Web 站点进行交互。一款名为 Beautiful Soup 的常用配套工具帮助 Python 程序理解 Web 站点中包含的脏乱“基本是 HTML” 内容。
2010年 01月 18日
可爱的 Python: Python 之优雅与瑕疵,第 2 部分
在这篇分两部分的系列文章中,David 讨论了添加到最近几个 Python 版本中的一些不那么引人注目的特性和不恰当特性,目的是向业余 Python 编程人员揭示 Python 优点的同时使他们能够避免错误。本期文章将讨论的内容包括属性和方法、描述符和特性。
2007年 10月 08日
可爱的 Python: Python 之优雅与瑕疵,第 1 部分
自从 Python 1.5.2(一个长期以来一直稳定且可靠的版本)迈入 “黄金时代” 以来,Python 增加了许多语法特性以及内置函数和类型。这些改进单独地看都是合理的调整,但是作为一个整体,它们使 Python 变得更加复杂,不再是有经验的程序员 “花上一个下午” 就能够掌握的语言了;另外,一些修改在带来好处的同时也有缺陷。
2007年 04月 29日
可爱的 Python: Decorator 简化元编程
Python 使元编程成为可能,不过每个版本的 Python 都有一些细微的区别(并且不是完全兼容),这使我们实现元编程的道路变得更加崎岖。一类函数对象的使用由来已久,同样还有一些技术用于探索和实现魔术般的属性。在版本 2.2 中,Python 增加了一种很有帮助的定制元类机制,但是其代价就是令用户绞尽脑汁。最近,在 2.4 版本中,Python 增加了 “decorator” ,这是适于执行大部分元编程的最新方式 —— 也是到目前为止对用户最友好的方式。
2007年 01月 23日
可爱的 Python: 使用 setuptools 孵化 Python egg
David 在本文中将带领我们了解一下 setuptools 框架,它是 Python Enterprise Application Kit(PEAK)的一个副项目。 setuptools 替换了标准的 distutils 库,并为 Python 添加了版本化的包和依赖性管理。Perl 用户比较熟悉 CPAN,而 Ruby 用户则比较熟悉 Gems;引导 setuptools 的 ez_setup 工具和随之而生的扩展后的 easy_install 与 “Cheeseshop”(Python Package Index,也称为 “PyPI”)一起工作来实现相同的功能。另外,setuptools 还让我们可以将自己的库包装成一个称为 “egg” 的包,它与 Java 的 JAR 文件类似,不过是用于 Python 的。
2006年 11月 30日
可爱的 Python: 深入 PEAK 的新特性
Python Enterprise Application Kit (PEAK)是一个用于快速开发和重用应用程序组件的框架。当 Python 自己已经成为一种高级语言之后,PEAK 还可以提供更高级的抽象。最近在 PEAK 中添加的一个功能是创建通用函数,并根据断言进行分派,而不只是根据类型进行分派。听起来很神秘?下面我们来详细了解一下。
2005年 10月 20日
可爱的 Python: Pyrex 扩展并加速 Python 应用程序
作者在使用 Pyrex 加速自己的纯 Python 版本的 hashcash,Pyrex 是一种用来编写 Python 扩展模块的语言,可以代替 C 语言来完成这项工作。作者还对使用 Pyrex 编写代码(通常是在大型的 Python 应用程序中使用)和使用 Psyco 编译器加速 Python 应用程序进行了对比,后者作者已经在 developerWorks 撰写文章进行了介绍。
2005年 02月 25日
可爱的 Python: 用 hashcash 打击垃圾邮件
hashcash 是一个基于可广泛应用的 SHA-1 算法的巧妙系统,它使得请求者要进行大量可参数化的工作,而求值程序仍可以“廉价”地进行检验。换句话说,发送者为了向您的收件箱中放入一些内容,不得不去做一些切实的工作。您当然可以使用 hashcash 来防止垃圾邮件,不过它还有其他方面的应用,其中包括为 Wiki 防止垃圾邮件以及加速分布式并行应用程序的运转。在本文中,您将接触到 David 自己的基于 Python 的 hashcash 实现。
2004年 11月 09日
可爱的 Python: 自然语言工具包入门
在本期文章中,David 向您介绍了自然语言工具包(Natural Language Toolkit),它是一个将学术语言技术应用于文本数据集的 Python 库。称为“文本处理”的程序设计是其基本功能;更深入的是专门用于研究自然语言的语法以及语义分析的能力。
2004年 07月 24日
可爱的 Python: Python Enterprise Application Kit
PEAK 是一个用于快速开发和重用应用程序组件的 Python 框架。虽然 Python 本身就已经是一门非常高层次的语言,但 PEAK 提供了更高层次的抽象,这些抽象主要来自于对元类(metaclass)及其他高级 Python 技术的巧妙运用。在很多方面,PEAK 对 Python 的贡献相当于 J2EE 对 Java 的贡献。PEAK 中的形式化部分体现在协议的显式规范中,具体说是在可以单独获得的 PyProtocols 包中。
2004年 05月 01日
可爱的 Python: Python 中的测试框架
在这一期文章中,David 研究了 Python 的两个用于单元测试的标准模块:unittest 和 doctest。这些模块扩展了用来确认函数内部的先置条件和后置条件的内置 assert 语句的能力。David 讨论了将测试融入到 Python 开发中的最好方法,同时权衡了用于不同类型项目的不同风格的优势。
2004年 04月 01日
可爱的 Python:: 使用 itertools 模块中的组合函数
Python 2.2 对 Python 语言引入了简单的生成器,并根据底层迭代器重新构思了标准循环。在 Python 2.3 中,生成器成了标准(不需要 _future_),而且引入了新模块 itertools 以与迭代器一起灵活地工作。itertools 模块本质上是一组组合高阶函数,只不过这些函数与惰性迭代器一起工作,而不是与有限列表一起工作。在这篇专栏文章中,David 研究了该新模块,并使您感受一下组合迭代器所具有的富有表现力的强大新功能。
2004年 03月 09日
可爱的 Python: 点评 Python IDE
David 着眼于四个运行于类 Unix 操作系统之上的开源 Python 代码开发环境。他对两个通用的和两个 Python 专用的编辑器/环境进行了评价,并对比了其各自的优点。
2004年 02月 01日
可爱的 Python: Numerical Python
Numerical Python (通常称为 NumPy) 是一个广为应用的 Python 扩展库,用于快速处理任意维数的固定类型数组。由于底层代码是充分优化的 C 语言代码,因而对数组的主要操作在 NumPy 调用中执行时,速度不再受到 Python 解释器的限制。因为 NumPy 已经取得了这样的成功,所以 NumPy 的开发者将用一个叫做 Numarray 的新模块来取代 NumPy,新模块基本上 (但并不是完全) 与 NumPy 兼容。在本文中,David 介绍了 NumPy 的一般功能,以及 Numarray 将要带来的一些特殊改进。
2003年 12月 01日
可爱的 Python: 多分派
面向对象编程的多功能性有许多是通过多态性获得的,多态性是指:倘若有合适的上下文,不同类型的对象可以用类似的方式进行工作。但大多数 OOP 编程是单分派(single dispatch)的;也就是说,仅有一个指定的对象确定采用哪一个代码路径。从概念上来说,较通用的技术是允许函数/方法的所有参数确定其专门化。本文介绍了用 Python 进行多分派(multiple dispatch)的实现,并演示了用该实现生成更佳程序的示例。
2003年 07月 26日
可爱的 Python: 创建声明性迷你语言
Python 的面向对象和透明自省功能使您可以轻松地创建用于编程任务的声明性迷你语言。在本专栏文章中,David 并未仔细研究如何使用 Python 来解释或翻译其它的专门语言(尽管可以做得到),而是研究如何将 Python 代码本身有效地限定在一组声明性元素中。他将向您说明开发人员如何能使用声明技术来简练清晰地陈述应用程序的要求,而让“幕后的”框架来完成繁重的工作。
2003年 02月 27日
可爱的 Python: SimPy 简化了复杂模型
人们常常难以理解或预知实际系统的随机行为。有时可能精确论证系统的统计特性(诸如一般的、最差和最好的性能特性)。但在其它时候,只有实际运行(或模拟)系统时,具体设计的缺陷才会显现出来。本文中,David 讨论了 SimPy,它是一种 Python 包,允许您非常方便地创建离散事件系统的模型。
2002年 12月 26日
可爱的 Python: 基于生成器的状态机
Python 2.2 中引进的简单生成器可用于简化状态机以及模仿协同程序。David 在“可爱的 Python”专栏较早前的一个部分中介绍了一个状态机处理的抽象模式。从那时起,简单生成器的引进就为描述机器提供了一些更自然的范例。协同程序是一种“外来”流机制,广泛使用的语言几乎都不支持这种机制(甚至连非 Stackless Python 都不支持它)。然而,Python 的新生成器几乎完全支持协同程序,几乎不用模仿任何额外的步骤。在本文中,David 通过说明性代码样本解释了所有相关概念。[由于编排上的混乱,这个专栏的文章没有完全按顺序发表。本文原计划在 David 的专栏文章用 Python 生成器实现“轻便线程”之前发表。对于因此而带给您的任何困惑我们表示歉意。―编者]
2002年 07月 01日
可爱的 Python: 用 Python 生成器实现“轻便线程”
在“可爱的 Python”的前面一部分中,David 介绍了一种用生成器和简单的调度程序模拟完整协同程序的方法。我们也许可以用直观的方式来扩展这种调度程序,使其允许对多进程使用极为轻量级的线程。与 Stackless Python 微线程非常相似,伪协同程序“轻便线程”几乎不需要 OS(甚至用户区)线程的上下文切换和内存开销。David 在这里介绍了轻便线程,一种巧妙的解决方案,它用来解决使用普通解决方案处理将涉及大量协同进程的问题。
2002年 06月 01日
可爱的 Python: 用 Psyco 让 Python 运行得像 C 一样快
Python 的设计在很多方面都类似于 Java 的设计。两者都利用了解释专门的伪编译字节码的虚拟机。JVM 比 Python 更高级的一个方面在于优化了字节码的执行。Psyco,一种 Python 专用编译器,帮助平衡了这一竞争。Psyco 现在是个外部模块,但是在将来的某一天它可能会包括到 Python 本身中去。只需极少量的额外编程,通常就可以使用 Psyco 将 Python 代码的速度提高好几个数量级。在本文中,David Mertz 研究了 Psyco 是什么,并在一些应用程序中对它进行了测试。
2002年 05月 09日
可爱的 Python: 更新您的 Python 读物列表,第 3 部分
自 David 的最近书籍综述发表在“可爱的 Python”专栏以来,又出版了许多关于 Python 的有趣书籍。本文将提供最近的 Python 书籍(或在上次综述中遗漏的书籍)的新比较评论。
2002年 05月 09日
可爱的 Python: 使用 Spark 模块解析
Spark 是一种用 Python 编写的强大的、通用的解析器/编译器框架。在某些方面,Spark 所提供的比 SimpleParse 或其它 Python 解析器提供的都要多。然而,因为它完全是用 Python 编写的,所以速度也会比较慢。David 在本文中讨论了 Spark 模块,给出了一些代码样本,解释了它的用途,并对其应用领域提供了一些建议。
2002年 05月 09日
可爱的 Python: 使用 SimpleParse 模块进行解析
为 Python 编写的解析工具很多。本专栏讨论了一种构建在 Python 之上的高级解析语言。 SimpleParse 在 mxTextTools 之上提供了一种 EBNF 样式的句法,从而很清晰地阐明了语法的表达式。
2002年 01月 01日
可爱的 Python: 更新您的 Python 读物列表,第 2 部分
自从我 2001 年 2 月发表最近书籍摘要以来,又有许多关于 Python的有趣书籍出版。本文将对最近的 Python书籍(或在上次摘要中遗漏的书籍)提供新的比较评价。
2001年 11月 01日
可爱的 Python: [anygui] 项目预览
在 Python 世界中有一个非常有趣的 [anygui] 项目,它已经进入了早期的开发阶段。[anygui] 项目打算作为许多主要图形工具箱的下层 API。一旦完全开发成功,Python 程序员就可以调用一个公共 [anygui] 函数 ― 例如,为创建一个窗口 ― 可由“最适当好用”的工具箱来完成这项工作。在 Windows 上,可以使用到 Win32 API(或者 wxWindows);在 MacOS 上,可能本机调用;在 BeOS 上,使用 Bethon;在 Linux 上,使用 TKinter 或者 GTK;在 Telnet 屏幕上使用 ncurses ― 所有这些都取决于给定的机器上安装的和可用的软件。本文讨论了 [anygui] 当前的开发状态,以及该项目要达到的目标。
2001年 10月 01日
可爱的 Python: 迭代器和简单生成器
Python 2.2 引进了一种带有新关键字的新型构造。这种构造是生成器;关键字是yield。生成器使几个新型、强大和富有表现力的编程习惯用法成为可能,但初看,要理解生成器,还是有一点困难。本文中,David 由浅入深地介绍了生成器,同时,还介绍了迭代器的相关问题。
2001年 09月 01日
可爱的 Python: pydoc 和 distutils 模块
最新的 Python 版本中引入了一些模块和工具,使之不只是作为一种语言,而是作为一种工具得到了改进。作者 David Mertz 回顾了一些模块,它们通过改进文档以及 Python 模块和包的分发包使 Python 开发者的工作变得非常轻松。
2001年 08月 01日
可爱的 Python:我的第一个基于 Web的过滤代理
本文介绍了 Txt2Html,由 David 创建的公共域工作项目,用于说明 Python 的编程技巧。Txt2Html 是“基于 Web 的过滤代理”-- 一种替用户读取基于 Web 的文档,然后将修改过的页面显示到用户浏览器的程序。为了使这成为可能,Txt2Html 以 CGI 程序的形式运行,查询外部 Web 资源的信息,并利用规则表达式。David 将为您逐步解释、说明和演示这些多种用途的子任务。
2001年 07月 01日
可爱的 Python: 在 Python 中进行函数编程,第 3 部分
作者 David Mertz 在早期的可爱的 Python 文章:“在 Python 中进行函数编程”的 第 1 部分 和 第 2 部分中介绍过许多函数编程的基本概念。这里通过列举更多的性能,象包含在 Xoltar 工具包中的 Curry 和其它的高阶函数,来继续进行讨论。
2001年 06月 01日
可爱的 Python: 重温 Python 的 XML 工具
David Mertz 创作的可爱的 Python的第一、第二部分概述了在 Python 中使用XML。然而,在那些最初的文章出现后,Python 中的 XML工具有了很大的发展。不幸的是,这些改进中的大多数并不向后兼容。在这个特别部分中,重温了作者先前对XML 工具的讨论,并提供最新的代码示例。
2001年 06月 01日
可爱的 Python: Python IDE 测评
David Mertz 介绍了 6 种 Python 集成开发环境,并比较了其特性、平台和稳定性。他发现 -- 或许只是无意中对开放源代码模块的测试 -- 免费产品似乎都比商业产品优秀。
2001年 05月 01日
可爱的 Python: 在 Python 下开发全文索引
随着信息量的增长,高效地定位特定信息变得越来越重要。本专栏将探讨全文索引领域,并集中讨论作者的公共域indexer模块。
2001年 05月 01日
可爱的 Python: Python 中的函数编程,第 2 部分
专栏继续 David 对 Python 中的函数编程 (FP) 的介绍。请阅读本文对解决编程问题的不同范例的介绍,在介绍过程中 David 将阐述几个中高级的 FP 概念。
2001年 04月 01日
可爱的 Python: Python 中的函数编程
尽管用户通常将 Python 看作是一个过程性和面向对象语言,但它实际上包含了实现完整函数编程所需的每样事物。本文讨论了函数编程的常规概念,并说明了在 Python 中实现函数技术的方法。
2001年 03月 01日
可爱的 Python:获得版本 2.0
Python 程序员最近随着版本 2.0 的发行获得了一个崭新的工具。Python 2.0 是在以前 Python 版本的长处上构建的,同时添加了许多新的便利和能力。本文提供了作者对 Python 最新版本的印象,以及有关如何有效利用它的一些技巧。
2001年 02月 01日
可爱的 Python:Python 中的 TK编程
David Mertz 用源代码样本以及详细的说明介绍了 TK 和Tkinter 封装器(Python 的 GUI库)。为了更便于操作,他演示了曾在以前很多文章中使用的 Txt2Html前端程序的 GUI移植示例。当然,他认为您会定期阅读其专栏。:)
2000年 12月 01日
可爱的 Python:JPython 和 Python for .NET内幕
David Mertz 采访了 JPython 和 Python for .NET 的开发者 Mark Hammond、Finn Bock 和 Barry Warsaw。他从 Mark 那里了解到一些有关微软开发的最新独家新闻内幕(当然所有内容都在保密合同限制内)并从 Finn 和 Barry 那里了解到有关 JPython 和他们将要发布的 Jython 项目的一些信息。
2000年 12月 01日
可爱的 Python:动态重新装入
与大多数其它编程语言相比,Python 的一大优点就是其强大的运行时动态能力。感谢方便的 reload() 函数,我们可以编写持续运行的程序,但它可以在进程运行期间装入经过修改的组件(对于那些持续运行时间至关重要的服务来说, 相当有用)。b本文在 David 以前的文章中讨论的对 Txt2Html 前端的某些增强基础上,说明了运行时程序修改。特别是,我们的样本程序将对因特网上 Txt2Html 转换库的新版本进行后台检查, 并下载和重新装入所需的新版本,无需用户手工介入。
2000年 11月 01日
可爱的 Python:Python实现内幕
当大多数程序员谈到 ”Python“ 时,他们可能想到的是有时称为 ”CPython“(因为它是以 C 实现的)的这种特定实现。但 Python 作为一种语言规范,已随着 Guido van Rossum 的参考实现的演变而实现了多次。本文包含对两种非标准 Python -- Stackless 和 Vyper -- 创始人带注释的采访。developWorks 网站上的 Linux 专区是有关 Linux、Linux 资源和 Linux 开发的开发者资源。
2000年 10月 01日
可爱的 Python:Python中的文本处理
与其它几种流行的脚本语言一样,Python 是一种用于浏览和处理文本数据的优秀工具。本文为 Python 的初学者概述了 Python 的文本处理工具。文章说明了规则表达式的一些常规概念,并提供了处理文本时,什么情况下应使用(或不使用)规则表达式的建议。
2000年 09月 01日
可爱的 Python:Curses 编程
某一类 Python应用程序最好使用交互式用户界面,这样可以消除图形环境的系统开销或复杂性。交互式文本模式程序(在Linux/UNIX 中),例如封装在 Python 的标准 curses模块中的 ncurses 库,正是您所需要的。本文中,DavidMertz 讨论了在 Python 中 curses 的用法。他使用从前端到 Txt2Html程序的样本源代码阐述了 curses 环境。
2000年 09月 01日
可爱的 Python:使用状态机
状态机从理论上说是几乎与计算机和编程相关的每件事的基础。从实用角度来看,状态机还有助于解决许多常见问题(特别适用于 Python 程序员)。本文中,David Mertz 讨论了何时以及如何使用 Python 编码状态机的实际例子。
2000年 08月 01日
可爱的 Python:DOM 的动态性
本文中,David Mertz 更为详细地说明了已在上一篇专栏文章 中讨论过的 Python 的高级 xml.dom模块的使用。以阐明代码样本及解释如何编码加到完整 XML文档处理系统中的若干元素来说明 xml.dom 的工作方法。
2000年 07月 01日
可爱的 Python:将 XML 和 Python结合起来
开始在 Python 中使用 XML 的一个主要要素是排列出所有可用模块的可比性能力。在他的新 Python 专栏“可爱的 Python”的第一部分中,David Mertz 简要描述了最流行和实用的关于 XML 的 Python 模块,并指出可以下载的单独模块以及可供阅读的参考资料。本文有助于确定哪些模块最适合特定任务。
2000年 06月 01日
第 1 - 44 条,共 44 条
显示内容简介 | 隐藏内容简介