Skip to main content
 Web开发网 » 编程语言 » Python语言

Python可以开发6大程序,如何学习?

Python作为一个整体可以用于任何软件开发领域。下面来看看Python可以应用在哪些领域的开发。

基于控制台的应用程序基于音频或视频的应用程序3D CAD应用程序.Web应用程序企业级应用图像应用

python该如何学习?1.起步阶段

任何一种编程语言都包含两个部分:硬知识和软知识,起步阶段的主要任务是掌握硬知识。

(1) 硬知识

“硬知识”指的是编程语言的语法、算法和数据结构、编程范式等,例如:变量和类型、循环语句、分支、函数、类。这部分知识也是具有普适性的,看上去是掌握了一种语法,实际是建立了一种思维。例如:让一个 Java 程序员去学习 Python,他可以很快的将 Java 中的学到的面向对象的知识 map 到 Python 中来,因此能够快速掌握 Python 中面向对象的特性。

如果你是刚开始学习编程的新手,一本可靠的语法书是非常重要的。它看上去可能非常枯燥乏味,但对于建立稳固的编程思维是必不可少。

下面列出了一些适合初学者入门的教学材料

❖「笨方法学 Python」:/

这本书在讲解 Python 的语法成分时,还附带大量可实践的例子,非常适合快速起步。

❖「廖雪峰的 Python 教程」

中文教程的翘楚,专为刚刚步入程序世界的小白打造。

❖「The Hitchhiker’s Guide to Python!」

这本指南着重于 Python 的最佳实践,不管你是 Python 专家还是新手,都能获得极大的帮助。

❖「Python 官方文档」

实践中大部分问题,都可以在官方文档中找到答案。

❖ 辅助工具:Python Tutor

一个 Python 对象可视化的项目,用图形辅助你理解 Python 中的各种概念。

(2) 软知识

“软知识”则是特定语言环境下的语法技巧、类库的使用、IDE的选择等等。这一部分,即使完全不了解不会使用,也不会妨碍你去编程,只不过写出的程序,看上去显得“傻”了些。

起步阶段的核心任务是掌握硬知识,软知识做适当了解,有了稳固的根,粗壮的枝干,才能长出浓密的叶子,结出甜美的果实。

2.发展阶段

完成了基础知识的学习,必定会感到一阵空虚,怀疑这些语法知识是不是真的有用。

没错,你的怀疑是非常正确的。要让 Python 发挥出它的价值,当然不能停留在语法层面。发展阶段的核心任务,就是“跳出 Python,拥抱世界”。

在你面前会有多个分支:科学计算和数据分析、爬虫、Web 网站、游戏、命令行实用工具等等等等,这些都不是仅仅知道 Python 语法就能解决的问题。

拿爬虫举例,如果你对计算机网络, 都不知道怎么实现,这就像工匠做石凳每次起锤都要思考锤子怎么使用一样,非常低效。

在这个阶段,不可避免要接触大量类库,阅读大量书籍的。

(1) 类库方面

「Awesome Python 项目」

这里列出了你在尝试解决各种实际问题时,Python 社区已有的工具型类库,如下图所示:

Python可以开发6大程序,如何学习?  Python应用开发 第1张

你可以按照实际需求,寻找你需要的类库。

至于相关类库如何使用,必须掌握的技能便是阅读文档。由于开源社区大多数文档都是英文写成的,所以,英语不好的同学,需要恶补下。

(2)书籍方面

这里我只列出一些我觉得比较有一些帮助的书籍,详细的请看豆瓣的书评:

科学和数据分析:

❖「集体智慧编程」

❖「数学之美」

❖「统计学习方法」

❖「Pattern Recognition And Machine Learning」

❖「数据科学实战」

❖「信息检索导论」

爬虫:

❖「HTTP 权威指南」

Web 网站:

❖「HTML & CSS 设计与构建网站」

列到这里已经不需要继续了。

聪明的你一定会发现上面的大部分书籍,并不是讲 Python 的书,而更多的是专业知识。

事实上,这里所谓“跳出 Python,拥抱世界”,其实是发现 Python 和专业知识相结合,能够解决很多实际问题。这个阶段能走到什么程度,更多的取决于自己的专业知识。

3.深入阶段

这个阶段的你,对 Python 几乎了如指掌,那么你一定知道 Python 是用 C 语言实现的。

可是 Python 对象的“动态特征”是怎么用相对底层,连自动内存管理都没有的C语言实现的呢?这时候就不能停留在表面了,勇敢的拆开 Python 的黑盒子,深入到语言的内部,去看它的历史,读它的源码,才能真正理解它的设计思路。

这里推荐一本书:「Python 源码剖析」,这本书把 Python 源码中最核心的部分,给出了详细的阐释,不过阅读此书需要对 C 语言内存模型和指针有着很好的理解。

另外,Python 本身是一门杂糅多种范式的动态语言,也就是说,相对于 C 的过程式、 Haskell 等的函数式、Java 基于类的面向对象而言,它都不够纯粹。换而言之,编程语言的“道学”,在 Python 中只能有限的体悟。学习某种编程范式时,从那些面向这种范式更加纯粹的语言出发,才能有更深刻的理解,也能了解到 Python 语言的根源。

这里推荐一门公开课「编程范式」(斯坦福大学公开课),编程范式讲师高屋建瓴,从各种编程范式的代表语言出发,给出了每种编程范式最核心的思想。

值得一提的是,这门课程对C语言有非常深入的讲解,例如C语言的范型和内存管理。这些知识,对阅读 Python 源码也有大有帮助。

Python 的许多最佳实践都隐藏在那些众所周知的框架和类库中,例如 Django、Tornado 等等。在它们的源代码中淘金,也是个不错的选择。

4. 最后的话

每个人学编程的道路都是不一样的,其实大都殊途同归。重要的是多练习,多实践,发布或者参与开源项目,与其他的开发者积极互动。

评论列表暂无评论
发表评论
微信