了解你选择的编程语言有哪些常用的开发包是非常重要的一件事, 这可以避免你重新发明轮子,提高学习效率。
例如,同样是学习Python,如果你的目标是要开发Web应用,那么需要了解的就是Flask 之类的Web开发包,而如果你的目标是要开发机器学习/深度学习应用,那么需要了解的就是 numpy、scikit-learn这些开发包了:

7、学习编程有什么方法吗?

毋庸置疑,和学习其他知识或技能一样,学习编程也需要掌握正确的方法。

1、多实践基准API

第一个学习方法就是多实践,只有思路是远远不够的。过于强调看书看视频而忽略实践 的结果就是眼高手低。你看到一个问题,思路上觉得行得通,但是却怎么也实现不出来。 这是因为编程需要精确地考虑并实现每一个细节,如果只是粗线条的理解,是很难达到 学习目标的。
那么怎么才能多实践?应该多模拟一些实战项目吗?
不是这样的。在早期的学习中,不应该参与复杂的实战项目,而是应该尽可能多的 了解编程语言的能力,比如练习它的基础API的使用方法、练习它的扩展包的API的使用方法。 一个实践任务一定不要包含太多的代码,最好聚焦于一个API,尽可能地理解 它的用法,以及它对应的抽象模型的内在机制。
有的时候一个API用起来很简单,但是它有对应的抽象模型存在,这个模型并不容易一下理解。 例如当你学习JavaScript操作网页的时候,就会接触到文档对象模型、Flex盒模型等诸多 抽象,在这种情况下,建议你先遵循黑盒法则,就是先了解这个模型的作用,掌握API 的使用方法,而暂时忽略其内部运行机制,然后将这个不理解的问题暂且记到小本本上, 留待日后解决。
所以,我们说的多实践,不是实战项目的实践,而是在很细粒度上的实践,理想 的粒度是在单一API上完成一个实践,因为API本身就体现了编程语言或开发包的设计者 的初衷。

2、多问自己为什么

第二个学习方法就是在学习的过程中,多问自己一些为什么,有意识地设计一些问题 挑战自己,把一时解决不了的问题记录下来,带着问题继续学习。
第一种问题是在学习过程中自发产生的,比如前面提到的,现在学习的某个知识点可能 涉及到了另一个之前不了解的知识点,如果那是一个比较难理解的知识点,那么还是先 记录下来,不要打断当前的学习思路。
第二种问题是有意识的发问。例如当你练习一个API的使用时,不妨考虑一下这几个问题: 这个API可能在什么场景下能用到?为什么这个API需要这些参数?这个API和之前学的哪些 API经常一起用?
能够主动地向自己提出问题是很了不起的进步,这意味着你真正进入了主动思考的状态。

3、设定分级目标,继续实践