找到好的编程资源就像大海捞针。它很难找到,而且可能会花很多时间。
我最近使用了几个值得了解的Python资源。有些是免费的,有些则不是。但是所有的都很棒。
如果您正在学习或希望更好地使用Python,那么这篇文章就是为您准备的。在其中,我分享了2020年来我使用过的最好的Python资源。
我用过鲁文·勒纳的几个Python产品。每一个都非常出色。有两件事你需要知道。
首先,王牌Python采访。这个免费课程包含50个关于Python主题的教学视频,分为三个级别:初学者、中级和高级。
每个视频都聚焦于勒纳在截屏视频中解决的一个问题。以下是一些例子:
录像带通常只有5到10分钟长,但里面挤满了信息。即使你熟悉一个主题,你也可能学到一些新东西。
这是因为勒纳远远超越了事物如何工作的表面层面,深入到了概念或主题的细微差别中。例如,你会发现什么时候以及为什么你会用“Break”而不是“Continue”。您将了解“Else”如何在Python循环中工作,以及何时(以及何时不)使用它。
他的解释得到了现场代码示例的支持。您将看到他编写函数、类或条件来解释每个概念。
对于任何希望增强Python知识的人来说,ACE Python访谈都是不费吹灰之力的。
它充满了50个问题,深入到语言的核心部分:字符串、字典、函数、文件、列表和元组等等。
这本书练习很重,这就是我为什么这么喜欢它的原因。在简要介绍了一个主题之后,勒纳会给你一个要解决的问题。
勒纳最出类拔萃的地方是他提供的深思熟虑的解决方案。他不仅给出了答案,还给出了详细的解释。这是一个区别点。
这也是关于从问题中学习:分解它,使用正确的工具来解决它,并理解每一步。勒纳从头到尾向你介绍了他的思考过程,并解释了其中的关键点。
因此,您的Python语言上下文将会增长(我的当然会增长),因为Lerner的解决方案可能会让您接触到Python的新特性或不同的做事方式。你解决问题的能力也会变得更加精湛。
建立你的知识图书馆是一件很棒的事情。但是你必须不断地把你的知识付诸实践。
即使资源有练习问题或练习,最好用其他问题来测试自己。
Hogan提供了主要按概念组织的实际问题,如文件、数据结构和函数。
你可以一遍又一遍地解决同样的问题,每次都能获得新的洞察力。这是因为他为每个问题提供了几个挑战和一个约束。简而言之,他的问题有很多层面有待发现。
这个编程平台提供了各种难度不同的问题。我最喜欢的是它对测试的关注:每个问题都有一个测试文件。解决Exercism方面的问题是我从测试驱动开发(Test-Driven Development)开始的。
我报名参加了Interview Cake的“完整课程”,在那里我正在学习和练习算法、数据结构和大O符号。这些问题都是经过精心挑选的,可以帮助你理解概念或主题,比如堆栈。
一旦你解决了一个问题,它就会一步一步地把它分解。事实上,重点是在这个过程上。您将会很好地理解为什么某种方法在给定的上下文中是有意义的。
在LeetCode上不乏要解决的问题。但它提供了一个重要的好处。
通常有多种解决方案,对您解决的每个问题都有详细的解释。因此,您将更好地阅读代码、考虑时间和空间复杂性,并考虑解决相同问题的多种方法。
本文中列出的许多来源之间有一个共同点。他们不仅提供了解决方案,而且提供了详尽的解释。
当我第一次开始编程时,我使用的许多资源都没有提供解决方案,更不用说解释了。一方面,这是有价值的:你被迫处理模棱两可的问题,你可以从斗争中成长很多。事实上,Lerner的书“Python Workout”也包含没有解决方案的问题。
但我现在意识到,为什么还要将提供解决方案并提供解释的资源结合起来,这一点很重要。它对学习非常有用。事实上,它指向了乔治·波利亚数学解题过程中的最后一步,那就是“回头看”。
波利亚在他的书“如何解决问题”(How To Solve It)中写道:“通过回顾已完成的解决方案,通过重新考虑和重新审视结果和导致它的途径,(学生)可以巩固他们的知识,发展他们解决问题的能力。”
“回头看”是我们程序员个人应该做的事情。然而,当我们考虑和研究其他人的解决方案以及实现这些解决方案的过程时,这一过程会得到加强。
找到一个好的编程资源可能很难。所以把这篇文章中提到的资源放在手边。因为当你迫不及待地要学习一些东西时,准备好一些资源是很有帮助的。
←返回所有帖子