python - ps显示完整路径 - 查杀进程




Python进程路径-从学徒到专家 (13)

学习算法/数学/文件IO / Pythonic优化

这不会让你成为上师,但要开始,尝试解决项目欧拉问题如果你有像样的高中数学知识,并且知道如何去Google,前50名左右的人不应该为此付出代价。 当你解决这个问题时,你可以进入论坛,在那里你可以查看其他人的解决方案,这些解决方案将会教你更多。 虽然体面,但不要张贴您的解决方案,因为这个想法是鼓励人们为自己解决问题。

如果你使用蛮力算法,强迫自己在Python中工作将是无情的。 这将教你如何在内存中布置大型数据集,并通过字典等快速语言功能高效地访问它们。

从我自己做起,我学到了:

  • 文件IO
  • 算法和技术,如动态规划
  • Python数据布局
    • 字典/包含HashMap
    • 清单
    • 元组
    • 它们的各种组合,例如词典到元组列表
  • 发电机
  • 递归函数
  • 开发Python库
    • 文件系统布局
    • 在翻译会议期间重新加载它们

而且非常重要

  • 何时放弃和使用C或C ++!

所有这些都应该与生物信息学有关

诚然,我没有从这个经验中了解Python的OOP特性。

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

我想知道的是你对这个或其他论坛中很少见到的问题的回答。 这个问题对于我来说对于Python改进途中的任何人来说似乎都是重中之重,但是谁不知道他的下一步应该是什么。

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

  • 我不想知道如何快速学习Python
  • 我也不想找出熟悉这门语言的最佳途径
  • 最后,我不想知道“一举两得”的方法。

我想知道你的意见是:

你会推荐给一个Python熟练人员的步骤,从学徒到专家身份(随时随地停止,无论你的专业知识是什么),以便持续改进,成为一个更好,更好的Python编码器,一步一个脚印。 SO上的一些人几乎看起来值得他们的Python能力崇拜,请赐教:)

我会喜欢的那种答案(但可以让读者感到惊讶:P)的格式或多或少是这样的:

  • 阅读这个(例如:python教程),注意那种细节
  • 代码如此之多/问题/代码行
  • 然后,阅读这个(例如:这本或那本书),但这一次,请注意这一点
  • 解决一些现实生活中的问题
  • 然后,继续阅读Y.
  • 一定要把握这些概念
  • 代码为X时间
  • 回到诸如此类的基础知识或进一步转向......
  • (你明白了:)

我真的很在意在不同阶段知道你应该注意什么,以便持续地进步(当然是有适当的努力)。 如果您来自特定的专业领域,请在此领域讨论适当的路径。

编辑:感谢你的伟大的输入,我回到了Python的改进轨道! 我真的很感激!


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

对于每种类型和结构,编写一系列演示程序,用于演示类型或数据结构的各个方面。 如果你这样做,可能值得每个人都写一篇博文......这可能对很多人有用!


理解反省

  • 写一个dir()等价物
  • 写一个type()相当于
  • 弄清楚如何"monkey-patch"
  • 使用dis模块来查看各种语言结构如何工作

做这些事情会

  • 给你一些关于python如何实现的很好的理论知识
  • 在低级编程中给你一些很好的实践经验
  • 给你对python数据结构的直观感受

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


你已经有很多阅读材料,但是如果你可以处理更多的内容,我建议你通过阅读Python增强建议,尤其是“完成”PEP和“延期,放弃,撤回和拒绝”来了解python的发展。政治公众人物。

通过观察语言如何变化,做出的决策和原理,您将吸收Python的哲学并理解“惯用Python”是如何产生的。

http://www.python.org/dev/peps/



对开始学习Python的其他人进行教学始终是让你的想法变得清晰的好方法,有时候,我通常会从学生那里得到很多精彩的问题,让我重新思考有关Python的概念。



我在一个夏天刚刚通过在python网站上做了教程学习了python(不幸的是,我似乎无法再找到它了,所以我不能发布链接)。

后来,我在大学的第一年课程中向我学习了python。 在接下来的夏天,我练习了PythonChallenge和来自Google Code Jam的问题。 解决这些问题有助于从算法角度以及从学习Python可以做什么以及如何操纵它以充分利用python中获益。

由于类似的原因,我听说高尔夫代码也是如此,但我从来没有为自己尝试过。


我建议从某些事情开始,强迫你去探索语法的表达力。 Python允许用许多不同的方式来编写相同的功能,但通常有一种最优雅和最快的方法。 如果你习惯了其他语言的习语,你可能永远不会找到或接受这些更好的方法。 我花了一个周末的时间熬过了20多个Project Euler的问题,并在Google App Engine上与Django做了一个简单的webapp。 这只会让你从学徒到新手,也许,但你可以继续制作更高级的web应用程序,并解决更高级的Project Euler问题。 几个月后,我回到了一个小时而不是一个周末,从头开始解决了前20个PE问题。




def apprentice():
  read(diveintopython)
  experiment(interpreter)
  read(python_tutorial)
  experiment(interpreter, modules/files)
  watch(pycon)

def master():
  refer(python-essential-reference)
  refer(PEPs/language reference)
  experiment()
  read(good_python_code) # Eg. twisted, other libraries
  write(basic_library)   # reinvent wheel and compare to existing wheels
  if have_interesting_ideas:
     give_talk(pycon)

def guru():
  pass # Not qualified to comment. Fix the GIL perhaps?




python