微信搜索公众号“平凡而诗意”,第一时间获取优质原创文章。
对于编程语言的学习,我一向推崇理论+动手实践的学习方法,书本只能告诉你每一个专业名词、语法的概念及用法,而动手实践能够让你更加深刻理解它们的含义,让你对语言的学习进一步得到升华。
大学期间唯一和编程相关的课程就是C语言,由于专业为数学,所以平时大多数是和书本、公式、推导证明打交道,很少使用编程语言,也可以称得上接近零基础,后来实习期间自学Python,来说一下我的学习方法吧。
就如同前面所说的,如果有一点的C语言基础,对于学习Python会有很大的帮助。如果纯粹的零基础也没关系,需要花费一些时间去理解编程语言里面的一些通用概念。
我认为入门Python相对容易,我更加推荐网上免费的在线教程,非常多,而且非常好,如果喜欢纸质书籍的也可以购买书籍学习。
尤其的基础知识相对简单,如果有一点的编程基础一周或者更短的时间内即可对Python基本语法做一定的了解,如果购买在线课程,我认为会耗费很多时间。
关于入门阶段的在线教程我推荐两份
Python菜鸟教程www.runoob.com
廖雪峰Pythonwww.liaoxuefeng.com
关于入门书籍,我推荐一本不错的书籍,
《Python编程从入门到实践》
关于进阶,我推荐两本书籍
第一本《Python Cookbook》
我认为这是一本很适合有一点Python基础的开发者,这本书应该很多Python开发者都有所耳闻,它在基础语法的基础上进行了一些提升。
就如同上面这个例子,它会抛开入门的那些简单语法去讲解一些Python高级实用方法和技巧,例如抽象基类、单例模式、接口等。每一个知识点它会对应提出一个问题,然后给出相应的解决方案,并且告诉你这样用的意义何在、怎么样更加高效的使用Python,怎么设计更高效的软件模式。
第二本《流畅的Python》
这是一本经得起考验的Python书籍。
举一个最简单的例子,在绝大多数教程都会讲到循环和条件语句,千篇一律的告诉你"if..else..", "for...while",这个有一点编程语言的同学都知道,在Python里面循环和条件语句有什么特殊的地方吗?该怎么用好它?
在很多博客、教程中都不会深入介绍,这本书会详细的介绍Python深入的内容。
它和大多数书籍和在线教程蜻蜓点水式的讲解不同,它更加深入,深入而不冗余,在你看这本书的时候你会发现,它的每一段话都是有意义的,没有什么废话。
它分别从数据结构、字典集合、文本和字节序列、函数、设计、装饰器、闭包等讲起,然后对每一块知识进行展开,详细介绍里面最根本的原理,然后告诉你,该怎么用好它,高效的使用它。
除了书籍之外可以找一些练手的小项目去熟悉一些Python的用法,在动手中理解学习到的概念,感兴趣的可以看一下我的另一篇回答,介绍了一些Python练手项目,
Python 的练手项目有哪些值得推荐?www.zhihu.com
实战阶段我认为可以选定一个感兴趣的方向,比如数据分析、网页爬虫、CV等,然后去设计一下系统架构,并且逐步编程实现它。
这方面也有很多开源的项目可以解决,以CV为例,AlexNet、R-CNN、YOLO这些经典的CNN模型都会开源他们源码,可以克隆下来阅读一下它们的代码,学习一下,然后实现自己的系统。
这里,推荐一个优质的github项目,里面每周会精选一些优质的Python项目,可以从中选取自己感兴趣的进行学习。
PyHubWeeklyhttps://github.com/Jackpopc/PyHubWeekly