Python,超越基础

时间:2020-03-06 14:21:07  来源:igfitidea点击:

我已经掌握了Python的基础知识,并且度过了一个小小的假期,我想用其中的一些知识来学习更多的Python。问题是我不知道该学什么或者从哪里开始。我主要是Web开发人员,但在这种情况下,我不知道它将产生多少变化。

解决方案

我建议使用Django或者Pylons编写不平凡的Web应用程序,这需要进行一些数字运算。
学习新语言没有比致力于解决问题和随心所欲学习更好的方法了!

尽管不是项目,但很有意思的是Python挑战赛。我发现它在提高我的python技能方面非常有用,并且可以让大脑同时锻炼。

老实说,我喜欢《 Programming Python》一书。它有各种各样的小项目,其中大部分可以在一个晚上以轻松的速度完成。他们使我们熟悉大多数标准库,并且可能会引起兴趣。最重要的是,这些小型项目实际上在"日常"意义上是有用的。这本书几乎只是假设我们了解并理解Python作为语言的基本知识,而不是了解它庞大的API库。

我认为我们会发现值得一试。

根据我们"掌握基础知识"的确切含义,我建议我们通读Dive Into Python并键入/执行所有章节代码,然后获得诸如Programming Collective Intelligence的知识并通过它工作,我们将学习python很好,更不用说一些非常出色的算法,这些算法将对Web开发人员派上用场。

好吧,有大量用于高级Python编程的资源:

  • 深入Python(免费阅读)
  • 在线python食谱(例如在这里和那里)
  • 奥莱利的Python食谱(请参阅亚马逊)
  • 一个有趣的谜语游戏:Python挑战

如果想在履历表上写" Python",则必须掌握以下主题:

  • 清单理解
  • 迭代器和生成器
  • 装饰工

它们使Python成为一种很酷的语言(当然还有我每天都会发现的标准库)。

编写一个网络应用程序,很可能在Django中,这些文档会教给我们很多不错的Python风格。

使用一些流行的库,例如Pygments或者Universal Feed Parser。这两个都提供了非常有用的功能,这些功能很难被正确使用,可在文档齐全的API中使用。

通常,我会远离没有充分记录的库
我们将把头撞在墙上,试图对它们进行逆向工程
以及围绕C库包装的库(如果没有的话)
任何C经验。我还在学习的时候就从事wxPython代码的工作
Python,这是我的第一语言,当时还很少
不只是wxWidgets的包装器。该代码很丑陋
我曾经写过。

除了动态导入一章没有在其他地方真正记录清楚的内容之外,我对Dive Into Python的了解不多。

人们通常会说"最好的学习方法是做事",但是我一直发现,除非我们专门学习某种语言来为某个项目做贡献,否则很难找到解决的小问题你自己去。

一个很好的解决方案是欧拉计画(Project Euler),其中列出了从简单到费力的各种编程/数学挑战。例如,第一个挑战是:

If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.

通过问题50,它已经变得有点困难了

Which prime, below one-million, can be written as the sum of the most consecutive primes

总共有208个,但我认为这里和那里添加了一些新的。

虽然在启动Project Euler之前我已经很了解python,但是我发现我纯粹是通过大量使用该语言学习了一些很酷的技巧。祝你好运!

我将在Python中插入Building Skills。另外,如果我们想更具挑战性,OO设计中的构建技能是一系列相当复杂的练习。

如果我们想掌握惯用的Python,那么Python Cookbook是绝对必要的。此外,那本书使我爱上了这种语言。

在Google视频中搜索" Alex Martelli"," Alex Martelli模式"和" Thomas Wouters"。关于高级Python,Python中的设计模式等,有很多有趣的话题。