Perl程序员的Python入门

58 投票
7 回答
24905 浏览
提问于 2025-04-15 19:24

我是一名有经验的Perl开发者,对其他编程语言也有一些了解(比如有C/C++的工作经验,在学校学过Java和Scheme,还有对很多其他语言的基本认识)。

我可能需要用Python做一些网页相关的工作(最紧急的是和Google App Engine有关的)。所以,我想请教一下大家,针对像我这样有Perl背景的人,学习Python的好资料有哪些(比如重点讲讲这两者之间的区别,以及如何把Perl的写法转换成Python的写法,而不是一些普通的Python学习资料)。如果能有一些专注于网页开发的内容,那就更好了。

我愿意接受任何资料 - 文章、教程、书籍、示例应用程序都可以!

谢谢!

7 个回答

9

作为一个资深的Perl程序员,我只能说千万别买 O'Reilly的《学习Python》。这本书根本比不上《学习Perl》,而且我不知道有什么书能和Larry Wall的《编程Perl》相提并论,那本书真的是无与伦比。

我最成功的做法是把以前写的Perl程序翻译成Python,尽量使用尽可能多的新技巧。

16

如果你是《Perl Cookbook》的粉丝,可能会对 PLEAC,也就是编程语言示例相似食谱 感兴趣,特别是 那一部分,展示了《Perl Cookbook》的代码是如何翻译成Python的

72

我最近因为工作原因也经历了类似的转变,过程挺痛苦的。无论好坏,Python的工作方式和理念跟Perl差别很大,适应起来可能会让人感到沮丧。我发现以下几点特别有用:

  • 花几个小时学习基础知识。我觉得官方教程还不错,虽然有点枯燥。
  • 找一本好的参考书来查一些基础知识(比如“怎么获取字符串的长度?”)。我觉得Python Pocket ReferencePython Essential Reference这两本书特别有用。
  • 看看这个方便的Perl<->Python对照手册(常见任务,两种语言并排展示)。
  • 了解Python处理“常见任务”的方式。我用的是Python Cookbook
  • 随时保持一个ipython终端打开,用来测试语法、查看对象的方法等等。
  • 安装pipeasy-install(方便安装Python模块)。
  • 快速学习单元测试。这是因为如果没有use strict,你会觉得很受限制,而且会犯很多基础错误,这些错误会在运行时出现。我推荐使用nose,而不是自带的unittest框架。如果你习惯了Test::More,unittest会显得很啰嗦。
  • 在Stack Overflow上查看Python相关的问题。特别是Python - 必须避免的事项Python 2.x的陷阱和雷区这两篇值得一读。

就我个人而言,我觉得Dive Into Python这本书有点烦人和居高临下,但它在网上是免费的,所以你可以自己判断。

撰写回答