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

我想知道的是你对一个我在这个论坛或其他论坛上很少见到的问题的回答.对于任何一个在Python改进道路上的人来说,这个问题似乎都是至关重要的,但谁想知道他的下一步应该是什么呢.

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

  • 我不想知道如何快速学习Python
  • 我也不想找到最好的方法来熟悉这门语言
  • 最后,我不想知道一个"一招通"的方法.

我想知道你对此的看法是:

What are the steps YOU would recommend to a Python journeyman, from apprenticeship to guru status (feel free to stop wherever your expertise dictates it), in order that one IMPROVES CONSTANTLY, becoming a better and better Python coder, one step at a time. Some of the people on SO almost seem worthy of worship for their Python prowess, please enlighten us :)

我喜欢的答案(但请随意给读者一个惊喜:P)的格式大致如下:

  • 阅读本文(例如:python教程),注意这些细节
  • 这么多时间/问题/代码行的代码
  • 然后,读这本书(例如:这本书或那本书),但这一次,要注意这一点
  • 解决一些现实问题
  • 然后,继续阅读Y.
  • 一定要掌握这些概念
  • X时间的代码
  • 回到某个或某个基本点,或者更进一步...
  • (你明白了:)

我真的很想知道你的意见,在不同的阶段,一个人到底应该注意什么,才能不断进步(当然,要付出应有的努力).如果您来自特定的专业领域,请讨论您在该领域中看到的合适途径.

编辑:多亏了你的大力支持,我又回到了Python改进的轨道上!我真的很感激!

推荐答案

我认为掌握Python的过程大概是这样的:

  1. 发现list comprehensions
  2. 发现generators
  3. 通常将map, reduce, filter, iter, range, xrange合并到您的代码中
  4. 发现Decorators
  5. 写递归函数,很多
  6. 了解itertoolsfunctools
  7. Read Real World Haskell (read free online)
  8. 用大量高阶函数、递归等等重写所有旧Python代码.
  9. 每次你的隔间伙伴给你上Python课程时,都要惹恼他们.声称它可以"更好"地实现为一个字典加上一些功能.拥抱函数式编程.
  10. Rediscover the Strategy pattern and then all those things from imperative code you tried so hard to forget after Haskell.
  11. 找到一个平衡点.

Python相关问答推荐

当变量也可以是无或真时,判断是否为假

如何判断. text文件中的某个字符,然后读取该行

当测试字符串100%包含查询字符串时,为什么t fuzzywuzzy s Process.extractBests不给出100%分数?

Ibis中是否有一个ANY或ANY_UTE表达,可以让我比较子查询返回的一组值中的值?

如何在不使用字符串的情况下将namedtuple属性传递给方法?

Tkinter滑动条标签.我不确定如何删除滑动块标签或更改其文本

无法使用python.h文件; Python嵌入错误

由于瓶颈,Python代码执行太慢-寻求性能优化

使用Ubuntu、Python和Weasyprint的Docker文件-venv的问题

将整组数组拆分为最小值与最大值之和的子数组

对整个 pyramid 进行分组与对 pyramid 列子集进行分组

删除所有列值,但判断是否存在任何二元组

Pandas 都是(),但有一个门槛

如何获得每个组的时间戳差异?

driver. find_element无法通过class_name找到元素'""

我的字符串搜索算法的平均时间复杂度和最坏时间复杂度是多少?

以逻辑方式获取自己的pyproject.toml依赖项

python sklearn ValueError:使用序列设置数组元素

如何在Gekko中使用分层条件约束

如何过滤组s最大和最小行使用`transform`'