对于编程语言的学习,我一向推崇理论+动手实践的学习方法,书本只能告诉你每一个专业名词、语法的概念及用法,而动手实践能够让你更加深刻理解它们的含义,让你对语言的学习进一步得到升华。

大学期间唯一和编程相关的课程就是C语言,但是由于专业为数学,所以平时大多数是和书本、公式、推导证明打交道,很少使用编程语言,也可以称得上接近零基础,后来实习期间自学Python,来说一下我的学习方法吧。我创建了一个知乎圈子:【平凡而诗意】,专注于分享前沿技术、编程开发、实用工具等方面内容,感兴趣的可以首页搜索【平凡而诗意】加入我的圈子,让我们一起玩耍吧!

1. 入门阶段

就如同前面所说的,如果有一点的C语言基础,对于学习Python会有很大的帮助。如果纯粹的零基础也没关系,需要花费一些时间去理解编程语言里面的一些通用概念。

我认为入门Python相对容易,因此我更加推荐网上免费的在线教程,非常多,而且非常好,当然如果喜欢纸质书籍的也可以购买书籍学习。

尤其的基础知识相对简单,如果有一点的编程基础一周或者更短的时间内即可对Python基本语法做一定的了解,如果购买在线课程,我认为会耗费很多时间。

关于入门阶段的在线教程我推荐两份:

Python菜鸟教程Python 基础教程 | 菜鸟教程​www.runoob.com

廖雪峰PythonPython教程​www.liaoxuefeng.com

关于入门书籍,我推荐一本不错的书籍,

《Python编程从入门到实践》

2. 进阶阶段

关于进阶,我推荐两本书籍:

第一本:《Python Cookbook》

我认为这是一本很适合有一点Python基础的开发者,这本书应该很多Python开发者都有所耳闻,它在基础语法的基础上进行了一些提升。 />

就如同上面这个例子,它会抛开入门的那些简单语法去讲解一些Python高级实用方法和技巧,例如抽象基类、单例模式、接口等。每一个知识点它会对应提出一个问题,然后给出相应的解决方案,并且告诉你这样用的意义何在、怎么样更加高效的使用Python,怎么设计更高效的软件模式。

第二本:《流畅的Python》

这是一本经得起考验的Python书籍。

举一个最简单的例子,在绝大多数教程都会讲到循环和条件语句,千篇一律的告诉你"if..else..", "for...while",这个有一点编程语言的同学都知道,但是在Python里面循环和条件语句有什么特殊的地方吗?该怎么用好它?

在很多博客、教程中都不会深入介绍,但是这本书会详细的介绍Python深入的内容。

它和大多数书籍和在线教程蜻蜓点水式的讲解不同,它更加深入,深入而不冗余,在你看这本书的时候你会发现,它的每一段话都是有意义的,没有什么废话。

它分别从数据结构、字典集合、文本和字节序列、函数、设计、装饰器、闭包等讲起,然后对每一块知识进行展开,详细介绍里面最根本的原理,然后告诉你,该怎么用好它,高效的使用它。

3. 练手项目

除了书籍之外可以找一些练手的小项目去熟悉一些Python的用法,在动手中理解学习到的概念,感兴趣的可以看一下我的另一篇回答,介绍了一些Python练手项目,Python 的练手项目有哪些值得推荐?​www.zhihu.com

4. 实战

实战阶段我认为可以选定一个感兴趣的方向,比如数据分析、网页爬虫、CV等,然后去设计一下系统架构,并且逐步编程实现它。

当然这方面也有很多开源的项目可以解决,以CV为例,AlexNet、R-CNN、YOLO这些经典的CNN模型都会开源他们源码,可以克隆下来阅读一下它们的代码,学习一下,然后实现自己的系统。

因为个人是做机器学习方向的,所以我推荐一些机器学习方面的学习+实战项目,感兴趣的可以看一下我的另一篇文章,Jackpop:干货!机器学习平台优质学习资源推荐​zhuanlan.zhihu.com

5. 强化

编程语言都有一个共性:入门容易,精通困难,包括Python这门被大多数人认为容易的编程语言在内,也是这样。

就如同我在另一篇回答下所说的那样,不仅限于熟练一门语言的语法,或者使用一门语言实现某项功能,更不是熟练使用某个框架或者库,而是超越语言本身、对编程语言之外的内容有深刻的认识和理解,例如,算法

数据结构

设计模式

依赖度

复用性

代码规范

系统的全局认识

......

详细内容可以看我另一篇回答,学过很多门语言,C、python、Java,但是感觉自己都不精通,如何才能把一门编程语言练习到精通呢?​www.zhihu.com

书籍

如果想进一步提升编码能力,应该在语言之上学习一些更通用的知识,如上一篇回答那样,强烈推荐好好阅读一下下面这几本书籍,

《代码整洁之道 Clean Code》-- 马丁 著,韩磊 译

《代码整洁之道 程序员的职业素养》--马丁著,余晟 译

《重构 改善既有代码的设计》-- 马丁·福勒(Martin Fowler) 著,熊节,林从羽

《设计模式:可复用面向对象软件的基础》--埃里克·伽玛(Erich Gamma) 等 著

开源项目

就像我在另一篇回答里所说的那样,学习编程思路并不复杂,概括起来就两点:多看别人的代码

多让别人看自己的代码

多让别人看自己的代码

这一点可以通过参与一些开源项目的开发,或者自己再github托管一些项目,每次提交MR时让一些高手检视你的代码,暴露自己的不足,接受别人的指正,在潜移默化之中会发现在开发方面会学会很多东西。

多看别人的代码

这一点可以通过去一些开源社区例如github看一些大公司例如,Google、Facebook、阿里、腾讯等开源的项目,这些项目都是经过多年内部开发,反复优化后开源的,在代码规范、效率等方面做的都很好,可以从其中学到很多东西。

我在这里推荐几个和Python方面比较好的开源项目。

用Python实现了排序、搜索、机器学习、图像、图等相关的算法,覆盖全面而且实现简单,目前Github已经61k+star,学习算法的同时能够从别人开发项目中学到很多开发的规范和经验.

理论与实践相结合,不仅包含基础语法、进阶,还有编程风格、公开课、编程经验总结等方面的内容,目前Github上已经67k+star.

相对于前面两个项目,我更推荐这个项目,前面两个项目更多的是围绕算法再展开,对于Python,只是一个实现的工具,而python-patterns更偏向于软件设计模式,我认为这才是提升阶段最为关键的,能够超越语言层面养成一个高效的软件模式设计思维,目前该项目在Github已经22k+star.

最后再自卖自夸一下,最近我在分享《进阶Python》系列,主要围绕抽象基类、单例模式、装饰器这些高阶用法展开,每一讲代码都会同步到Github,感兴趣的也可以关注一下。

干货干货 | 2019年共享免费资源整理(上):学习资源篇​mp.weixin.qq.com干货 | 2019年共享免费资源整理(下):实用工具篇​mp.weixin.qq.com

作品精选QQ学习交流群:1077239487~平凡而诗意​jackpopc.github.io

python编程入门指南怎么样-Python 应该怎么学?相关推荐

  1. python编程入门指南怎么样-python编程从入门到实践这本书怎么样

    <Python编程-从入门到实践>作者: Eric Matthes,已翻译为中文,人民邮电出版社出版. python编程从入门到实践怎么样? 我们一起看看已经学习的同学对这本书的口碑和评价 ...

  2. python编程入门指南明日科技pdf-零基础学Python PDF 全彩影印版

    给大家带来的一篇关于python编程相关的电子书资源,介绍了关于零基础学Python.明日科技方面的内容,本书是由吉林大学出版社出版,格式为PDF,资源大小314 MB,明日科技编写,目前豆瓣.亚马逊 ...

  3. python编程入门指南磁力下载-菜鸟边学Python边实践之打造自己的磁力搜索神器

    [Python] 纯文本查看 复制代码import random import requests,time from lxml import etree import threading from q ...

  4. python编程入门指南-最简单的Python编程入门指南,没基础也能快速入门Python编程...

    原标题:最简单的Python编程入门指南,没基础也能快速入门Python编程 对Python这门编程语言来讲,几乎是没什么不能做到的.最难的不过是如何入门,也就是你进入Python编程的第一步. 其实 ...

  5. python编程入门-Python编程入门经典pdf(Python编程入门教程) 高清中文版

    Python编程入门经典pdf(Python编程入门教程)下载.Python编程入门经典pdf高清版帮助各位更好的进行Python编程的学习以及理解,最经典的课题,最深入的概念,让你在Python编程 ...

  6. python编程入门指南-编程入门指南

    编程入门指南 ----------------------------------------------- 编程入门指南 v1.5 --- https://zhuanlan.zhihu.com/p/ ...

  7. python编程入门指南pdf-python编程初学者指南

    python编程初学者指南是一本边学边制作游戏的经典教程,由美国程序员道森(Michael Dawson)编著.通过阅读本书,你不仅会学到很多实用的Python编程知识,还将懂得如何在实际工作中运用这 ...

  8. python编程入门指南上下百度云-Python编程初学者指南 PDF扫描版[87MB]

    Python编程初学者指南 内容简介: 如果你刚刚接触Python编程,而且正在寻找一本实用的教程,那么这本书为你量身打造.通过阅读本书,你不仅会学到很多实用的Python编程知识,还将懂得如何在实际 ...

  9. python编程入门指南-Python编程初学者指南 PDF扫描版[87MB]

    Python编程初学者指南 内容简介: 如果你刚刚接触Python编程,而且正在寻找一本实用的教程,那么这本书为你量身打造.通过阅读本书,你不仅会学到很多实用的Python编程知识,还将懂得如何在实际 ...

最新文章

  1. CSS3动画过渡的jquery动态弹出框插件
  2. 【错误记录】Android Studio 编译报错 ( Invalid main APK outputs : EarlySyncBuildOutput )
  3. ARM/THUMB汇编(补丁开发类)基础教程
  4. WPF in Visual Studio 2010
  5. python怎么读取excel某一列-Python从Excel中读取日期一列的方法
  6. C# 6.0 的那些事
  7. 插入保存?展现show的顺序
  8. SLAM_SLAM面试专题
  9. CentOS-7镜像文件下载
  10. 计算机游戏测试软件,你的电脑能不能吃鸡,两款软件很简单就能测试出来
  11. 省赛 和 南京邀请赛总结
  12. JavaScript高级学习(三)
  13. 秒拍视频其实在你浏览器缓存里
  14. Java导出Excel每列求和,POI导出excel执行自动求和
  15. Win部署Flask服务_NSSM
  16. 通过shell脚本来rerun一个oozie调度失败的job,从而可以跳过执行失败的节点
  17. 修改无法启动的容器中的配置文件(elasticsearch)
  18. 使用 Let's Encrypt 的免费HTTPS服务
  19. APACHE+PHP+MySQL 绿色版安装教程
  20. 繁体简体转换的python包pylangtools

热门文章

  1. Android edittext 属性inputtype详解
  2. ICMP 隧道——将流量封装进 IMCP 的 ping 数据包中,旨在利用 ping 穿透防火墙的检测...
  3. YCSB benchmark测试mongodb性能——和web服务器测试性能结果类似
  4. Dynamo涉及的算法和协议——p2p架构,一致性hash容错+gossip协议获取集群状态+向量时钟同步数据...
  5. angularjs 中的scope继承关系——(1)
  6. 解决git无法clone地址为https的库
  7. 共享内存查看清除命令ipcs和ipcrm
  8. npm获取配置,设置代理
  9. Eclipse下Tomcat插件的安装
  10. ros 配置udev