我感到陷入了Python的中心,如何超越初学者[关闭]


22

如果这不遵循SO规则,我真的很抱歉,但是我需要一点帮助,我个人仍然将自己归类为python的初学者,但是我写了一个非常小且非常不切实际的程序供老板使用。

我知道我仍然是一个初学者,因为简单的事情仍然困扰我,但是老实说,我读给初学者的每一本书只是重新表达了我已经知道的内容,但是每本“更高级”的书并不能真正让我学习,它们取决于示例文件我从来不真正理解为什么他们建立了“说”功能或“说”类。所以我的问题...

在书上是否有任何建议或其他建议使我脱离这一阶段,我先使用了头,通常它们确实很好,但是我的问题是他们让我回溯只是为了再次前进,它在HTML中有效,但是它在Python中令人困惑,基本上,我认为我需要在继续的同时构建一个程序,我再次喜欢HeadFirst的风格,但是我需要的东西不会让我不得不记住一件事而忘记它...

作为记录,我已经检查了一些O'Reilly的书


7
对于每个开始的概念,请编写一些小程序,直到您掌握了它。一旦感到舒适,就可以做越来越多的事情,直到获得高级知识为止。只是没有实践和编码就不会对您有多大帮助。

6
您是否已经读过《如何像计算机科学家一样思考》
奥斯卡·梅德罗斯

您是否已遵循docs.python.org/tutorial/index.html教程?您是否有使您困惑的特定方面?如果您可以通过一些代码示例来说明它们,那就更好了。
juanchopanza

老板不是也需要一个更大的用Python编写的程序吗?您需要经验...

2
当您不了解时,可以尝试,尝试并提出问题,这里的人会帮助您。
2011年

Answers:


23

停止读书。

使用现在无需阅读的时间编写代码。实践。思考。在您编写的真实代码中面临实际问题。

然后,您将有足够的问题可以供高级书籍回答。现在您没有这些问题了,书中的答案对您来说毫无意义。

这非常类似于学习外语或学习游泳:仅书籍是无济于事的。您需要练习很多,然后您的大脑才能“掌握”。


19

FWIW,我真正学习Python的方式是为自己编写一个简单的应用程序。实际上,这是对我先前创建的用于学习C(以及后来的C ++)的同一应用程序的重写,因此我非常熟悉需要完成哪种处理。在每次(重新)写入期间,我都试图利用所使用的特定语言提供的任何特殊功能,或者只是想尝试一下。

另外,当您完成或至少拥有一个可用的版本时,您将拥有一些实际有用的东西,而不是一些本身没有用的编程练习。您还可以在学习更多更好的方法来完成使用该语言的操作之后,稍后再返回并更改程序。

提高任何一种编程语言的一种非常有用的方法是只阅读许多其他程序。目前,这样做的一种好方法是使用Google,如StackedOverflow 答案中所述。这是一个很好的资源,您将经常阅读由专业程序员编写并在其他现实应用中使用的“工业实力”代码。

更新:

由于Google的代码搜索已于2012年1月15日停产,因此除了恢复常规的Google搜索外,还有一个叫做“代码片段集”的东西看起来很有希望。这个(封闭的)问题的答案中提到了许多其他资源。是否可以替换Google Code Search?


5
重视非平凡。要学习如何去做困难的事情,请尝试去做困难的事情。
Bryan Oakley '02

5

只是继续抱怨简单的概念。编写一些包含其概念的小程序。在某个时候,您将在理解的顶峰上攀登,新事物对您而言更有意义。我还保留一个名为Python代码段的目录。我发现它可以作为某些概念的起点。

我发现无价的另一招是阅读其他人的代码并对其进行注释,总结每一行和每一节的内容。如果我不知道,那么该到Google了。这样,我就能看到Python的实际应用,并且可以将其分解为整洁的部分。

Python源代码本身就是一种特别丰富的代码资源。


5

如果不确定基本的Python库或面向对象的设计(因为您提到不知道为什么使用“ said”类或“ said”函数):

  1. 面向对象设计中的建筑技能确实可以帮助您思考面向对象的设计。

  2. S.Lott的其他网站“ Python中的构建技能”也可能是您扩展Python技能而不是基础知识的好方法。它具有许多应用程序,这些应用程序比下面列出的书要简单一些,但仍然很有趣且具有启发性。


如果您的问题是您不知道如何使用Python做任何有趣的事情:

1)开始使用Python:从新手到专业人士都到一些有趣的东西:GUI,编写自己的文件共享应用程序等。我也喜欢Hetland的风格。

2)您提到了O'Reilly的书,但是《Programming Python》几乎完全处理应用程序而不是语法。它具有许多有趣的应用程序,可让您的创意源源不断。这是一本非常大的书(我认为大约有1,500页),而4e完全专注于Python 3,但是绝对让您看到了人们如何使用Python。


+1代表S. Lott网站的裁判……我之前从未见过。
Gerrat 2011年

4

我会推荐两本Python书,@ MikeRand已经提到其中一本:

  • Dive Into Python 3是一本必读的书,它涵盖了入门知识和一些更高级的主题。
  • 编程Python是恕我直言,它是进入非常高级的Python主题的正确书。它还涵盖许多领域,例如(G)UI,系统应用程序,Web编程等。

请注意,这两本书的最新版本均涵盖Python3。如果使用旧版本的Python,请查找旧版本的书。FTR是Python的另一种选择,用于软件设计(以前的方式像计算机科学家一样思考:@ oscar-mederos提到的使用Python学习),但是它的大多数内容也是介绍性的(从这个意义上说,我建议使用Dive Into Python )。


3

最有效的方法是让经验丰富的导师定期检查您的代码,并执行他的建议。这是大学学位的最大好处之一,但不一定必须像那样正规。我认为自己是一名高级程序员,但是在编码之前,我仍然走到大厅与同行讨论主要的设计决策,然后再对成品进行审查。


0

除了提到的某些书籍(尤其是《如何像计算机科学家一样思考》)外,请访问ActiveState的Python食谱站点。阅读一些您感兴趣的内容,看一下代码,然后弄清楚将如何解决该问题以及与食谱中的内容有何不同。


-1

这是一个很奇怪的建议,但是我要成为自己的方式就是问问题,看着别人问问题,然后阅读答案。因此,浏览Stack Overflow的带有Python标签的问题,或者(在我的情况下)成为freenode 上#python的常规对象


-3

试试沃伦和卡特·桑德(Warren and Carter Sande)的书“ Hello World!青少年和其他初学者的计算机编程”,这是我学习Python脚本的方式,或者我听说Anthony Briggs的“ Hello!Python”也是一本很棒的书。

着重于利用功能,注释以及某种形式的程序来组织程序。别忘了:程序只是计算机遵循的一组指令。使其易于阅读和理解。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.