作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!

写了将近两年的Python快速教程,终于大概成形。这一系列文章,包括Python基础、标准库、Django框架。前前后后的文章,包含了Python最重要的组成部分。这一内容的跨度远远超过我的预期,也超过了我看过的任何Python相关书籍。最初动笔的原因,除了要总结,还对很多Python书和教程觉得不满意,觉得太晦涩,又不够全面。现在,我比较确定,参考我在Linux、网络、算法方面的总结,读者可以在无基础的背景下,在短时间,有深度的学习Python了。

这一篇也是尾声。准备在一个长的时间内,停止更新Python快速教程,把精力集中在其它方面。毕竟一件事情做久了,会缺乏自我突破。编程是一个很有创新性,很需要突破自我的工作。在一个方面待久了,自己都会觉得发馊。而未知的计算机领域中,还有很多有趣的技术值得更深入的学习。另一方面,Python用舒服了,导致我一想到问题,基本都是Python的思路。这样,Python就成了我的舒服区域。我懒得去想,Java会如何解决,Scala会如何解决,C会如何解决。成长的空间被压缩得很小。为了自己能前进,要打破这个舒适区。

谢谢各位阅读这些的Python文章。你们的支持是我走到现在的最大动力。希望这些技术文章能点缀你的闲暇。如果再能有一些具体的帮助,那就最好不过了。


下面是我在知乎回答的一个帖子“你是如何自学Python的”,略做修改,作为总结:

我是自学的Python。从对Python一无所知,到在博客上写Python相关的系列文章,期间有不少门槛,但也充满乐趣。乐趣是自学的最大动力。Python是一个容易编写,又功能强大的动态语言。使用Python,可以在短短几行内实现相当强大的功能。通过自己写一些小程序,迅速的看到效果,发现问题,这是学习Python最便利的地方。在《黑客与画家》中,Paul也说,动态语言可以给Hacker们更多涂涂画画的快感。这深得我心。

在学习Python之前,可以了解一下Python的特点和设计理念(Python简史)。在设计之初,Python就试图在复杂、强大的C和方便、功能有限的bash之间,找到一个平衡点。Python的语法比较简单,用起来很方便,因此有些人把它当作脚本语言使用。但Python要比普通的脚本语言功能强大很多。通过良好的可拓展性,Python的功能相当全面,应用面很广:web服务器,网络爬虫,科学运算,机器学习,游戏开发…… 当然,天下没有免费的午餐,也没有完美的语言,Python为了达到上述两点,有意的牺牲了Python的运行速度。如果你是在编写高业务量、运算量的程序,可能Python并不是最好的选择。

-----

Python的主体内容大致可以分为以下几个部分:

  1. 面向过程。包括基本的表达式,if语句,循环,函数等。如果你有任何一个语言的基础,特别是C语言的基础,这一部分就是分分钟了解下Python规定的事。如果你没有语言基础,建议用Python Programming为参考书。这本书是计算机导论性质的教材,不需要编程基础。
  2. 面向对象,包括面向对象的基本概念,类,方法,属性,继承等。Python是面向对象的语言,“一切皆对象”。面向对象是很难回避的。Python的面向对象机制是相对比较松散的,不像Java和C++那么严格。好处是容易学,容易维护,坏处是容易犯错。
  3. 应用功能,包括IO,数据容器如表和词典,内置函数,模块,格式化字符串等。这些在其它语言中也经常出现,有比较强的实用性。
  4. 高级语法,上下文管理器,列表推导,函数式编程,装饰器,特殊方法等。这些语法并不是必须的,你可以用前面比较基础的语法实现。学这些高级语法的主要原因是:它们太方便了。比如列表推导一行可以做到的事情,用循环结构要好几行才行。

学习Python主体最好的参考书是Learning Python,它非常全面,满满的都是干货。虽然很厚,读起来并不难读。另一个是参考官网的教程Python.org

Python号称“Battery Included",也就是说,功能都已经包含在了语言中。这一自信,主要来自Python功能全面的标准库。标准库提供了许多功能模块,每个模块是某一方面功能的接口,比如文件管理,操作系统互动,字符处理,网络接口,编码加密等等。

The Python Standard Library中,你可以看到标准库模块的列表。这里也是标准库最好的学习资料。如果想找书,我只看到过两本关于标准库的:
Python Essential Reference
The Python Standard Library by Example

说实话,这两本都不算很好的标准库教材,而标准库的参考书也确实很难写。因为标准库只是调用功能的接口,最终实现的是Python和系统的互动。这需要很强的系统知识,比如文件系统知识,进程管理,http原理,socket编程,数据库原理…… 如果这些知识都已经准备充分,那么标准库学起来完全没有难度。然而,这些背景知识的学习曲线,要远远陡过Python本身。

更深入的Python学习也是如此,需要大量的背景知识,而不止是Python自身。如果你对Python的拓展性感兴趣,可以多多尝试混合编程。如果你对Python的编译和运行机制感兴趣,你可以往Python底层这一深度挖,看看编译器是怎么做的。如果你对应用感兴趣,你可以多学习几个自己用的上的第三方包。学到这个时候,拼的是境界,也没有什么定法。广阔空间,留待探索。

基本上,学过主体内容之后,Python还是要靠做项目来练习。有不少小练习题类型的资料,比如Python Cookbook。但更好的方式是自己去想一些应用场景,用Python来解决。比如:

  • 建设一个网站
  • 做一个网页爬虫
  • 系统管理

Python功能全面,所以不要担心自己想的问题Python解决不了 (基本上Python解决不了的问题,别的语言也没戏)。比如我学习多线程的动力,就因为要并行的下载大量的文件。基本上一个项目下来,会用到Python好几块的内容,知识会特别巩固。

最后,和其它任何知识的学习一样,笔记和总结很重要。在看参考书和看网页时,可以做一些笔记。等到学了一段时间后,可以把笔记整理成更有条理的参考卡片(reference card),或者写博客。

长路漫漫,与诸君共勉。

转载于:https://www.cnblogs.com/vamei/p/3603046.html

Python快速教程 尾声相关推荐

  1. 【Python教程】Python快速教程

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 怎么能快速地掌握Python?这是和朋友闲聊时谈起的问题. Python包含的内容 ...

  2. 给深度学习入门者的Python快速教程 - 番外篇之Python-OpenCV

    转载自:https://zhuanlan.zhihu.com/p/24425116 本篇是前面两篇教程:给深度学习入门者的Python快速教程 - 基础篇 给深度学习入门者的Python快速教程 - ...

  3. 给深度学习入门者的Python快速教程 - numpy和Matplotlib篇

    转载自:https://zhuanlan.zhihu.com/p/24309547 本篇部分代码的下载地址: https://github.com/frombeijingwithlove/dlcv_f ...

  4. python教程-Python快速教程

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 怎么能快速地掌握Python?这是和朋友闲聊时谈起的问题. Python包含的内容 ...

  5. 人生苦短,我用Python(Python快速教程 - 基础篇)

    Life is short, you need Python 人生苦短,我用Python -- Bruce Eckel 5.1 Python简介 本章将介绍Python的最基本语法,以及一些和深度学习 ...

  6. 给深度学习入门者的Python快速教程 - 基础篇(转)

    原文:https://zhuanlan.zhihu.com/p/24162430 5.1 Python简介 本章将介绍Python的最基本语法,以及一些和深度学习还有计算机视觉最相关的基本使用. 5. ...

  7. Python快速教程 - 基础篇

    5.1 Python简介 本章将介绍Python的最基本语法,以及一些和深度学习还有计算机视觉最相关的基本使用. 5.1.1 Python简史 Python是一门解释型的高级编程语言,特点是简单明确. ...

  8. 给深度学习入门者的Python快速教程 - 基础篇

    转载自:https://zhuanlan.zhihu.com/p/24162430 5.1 Python简介 本章将介绍Python的最基本语法,以及一些和深度学习还有计算机视觉最相关的基本使用. 5 ...

  9. Python快速教程博客园地址

    http://www.cnblogs.com/vamei/archive/2012/09/13/2682778.html 常用编辑器选择 最强大的是 Eclipse with PyDev PyChar ...

最新文章

  1. c 结构体 不允许使用不完整的类型_C语言必学知识点 quot;结构体quot;详细解析!...
  2. 【指标统计】根据遥控补全遥信
  3. 簡單編譯內核 linux kernel gnu
  4. python tfidf特征变换_机器学习的“万能模板” - 数据分析
  5. 基于表的数据字典构造MySQL建表语句
  6. 共用软件现漏洞未修复,一年来美国数十个政府网站在推送色情广告
  7. CCF201609-4 交通规划(100分)
  8. 中国乳制品行业消费品牌形势与竞争格局展望报告2022版
  9. android ca证书的安装,如何在Android上以编程方式安装CA证书,无需用户交互
  10. 可汗学院金融学笔记系列
  11. 透彻理解BN(Batch Normalization)层
  12. 银行业务中的清算和结算分别是什么样的过程
  13. jquery.SuperSlide
  14. 认证资料大全(二十一)------ SAIR认证列表
  15. java小小工具 对象信息管理
  16. 大人也过儿童节,儿童节个性新闻火爆互联网[原创]
  17. Android 获取UUID两种方法
  18. 使用openCV与C++求图片特征值及特征向量并进行图片处理
  19. EventBus使用方法
  20. stm32硬件SPI驱动3线SPI-LCD的方法

热门文章

  1. maven netty 配置_进阿里、腾讯、字节跳动、美团必掌握的Netty
  2. linux 查看所有端口号_linux系统:ss命令
  3. linux cp通同时新建目录_Linux 新手应该知道的 26 个命令
  4. hutool的定时任务不支持依赖注入怎么办_可调度定时任务在SpringBoot中的实践
  5. Java元宵趣图_2019元宵节,猪你元宵节快乐
  6. 使用方法_防爆配电箱使用方法及使用条件
  7. java调试时监视_Java监控工具、调优、调试辅助函数
  8. linux ftp远程更新,用ftp远程安装linux
  9. c语言switch结构计算利润,求助。。关于用switch编写简易计算器
  10. 小学数学开灯问题_【数学攻略】小学四年级数学“相遇问题”全普及