我学习、工作和使用Python已经有一年半的时间了。作为一名慢慢转向生物信息学的生物学家,这种语言一直是我在实验室所做的所有主要贡献的核心。我或多或少爱上了Python让我表达美丽的解决方案的方式,也爱上了这种语言的语义,它允许从思想到可行的代码的自然流动。

有一个问题,我很少在这里或其他论坛看到,我想听听你的回答。在我看来,这个问题对于任何走在Python改进道路上的人来说都很重要,但他不知道下一步应该做什么。

让我先总结一下我不想问的问题;)

我不想知道如何快速学习Python 我也不想找出熟悉这门语言的最佳方法 最后,我不想知道“一个技巧可以解决所有问题”的方法。

我想知道你的意见是:

从学徒到大师,你会向Python熟练者推荐哪些步骤,以便一个人不断提高,成为一个越来越好的Python程序员,一次一步。SO上的一些人几乎因为他们的Python能力而值得崇拜,请启发我们:)

我喜欢的那种回答(但请随意给读者惊喜:P),格式或多或少是这样的:

阅读这个(例如:python教程),注意那种细节 这么多时间/问题/行代码的代码 然后,读这本(例如:这本或那本书),但这次,注意这本 解决一些现实生活中的问题 然后,继续读取Y。 一定要掌握这些概念 X时间的代码 回到这样那样的基础或进一步讨论…… (你懂的)

我真的很想知道你对一个人在不同阶段应该注意什么问题的看法,以便不断进步(当然,要付出适当的努力)。如果你来自一个特定的专业领域,讨论一下你认为适合这个领域的道路。

编辑:感谢您的大力投入,我又回到了Python改进的轨道上!非常感谢!


当前回答

彻底理解所有数据类型和结构

对于每种类型和结构,编写一系列演示程序来练习类型或数据结构的各个方面。如果你这样做了,在博客上记下每一个笔记可能是值得的……它可能对很多人有用!

其他回答

下载Twisted并查看源代码。他们采用了一些相当先进的技术。

我将给你一条我认为任何人都能给你的最简单、最有效的建议:代码。

你只能通过编写代码来更好地使用一门语言(这意味着理解它)。你必须积极地享受编码,受到启发,提出问题,并自己找到答案。

有一个小时的空闲时间吗?编写反转字符串的代码,并找出最优的解决方案。一个自由的夜晚?为什么不试试网络抓取呢?阅读别人的代码。看看他们是怎么做事的。问问你自己你会怎么做。

当我对我的电脑感到无聊时,我打开我的IDE和代码风暴。我记下那些听起来有趣、有挑战性的想法。URL缩短器?当然,我能做到。哦,我学会了如何将数字从一种进制转换为另一种进制,这是我的一个副作用!

无论你的技能水平如何,这都是有效的。永远不要停止学习。通过在业余时间积极地编写代码,你将不需要额外的努力就能理解这门语言,并最终成为一名大师。你将建立知识和可重用的代码和记忆习语。

查看Peter Norvig关于在10年内成为一名大师级程序员的文章:http://norvig.com/21-days.html。我敢打赌这对任何语言都适用。

这不是你想要的,但我觉得这是个好建议。

学另一门语言,哪门都无所谓。每种语言都有自己的想法和习惯,你可以从中学习。了解语言之间的差异,更重要的是为什么它们不同。尝试纯函数式语言,如Haskell,看看函数的一些好处(和挑战),没有副作用。看看如何将从其他语言中学到的一些东西应用到Python。

彻底理解所有数据类型和结构

对于每种类型和结构,编写一系列演示程序来练习类型或数据结构的各个方面。如果你这样做了,在博客上记下每一个笔记可能是值得的……它可能对很多人有用!