首页 php教程 php手册 Python快速教程 尾声

Python快速教程 尾声

Jun 13, 2016 am 09:40 AM
python 快速 教程 文章

   写了将近两年的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的主体内容大致可以分为以下几个部分:

  面向过程。包括基本的表达式,if语句,循环,函数等。如果你有任何一个语言的基础,特别是C语言的基础,这一部分就是分分钟了解下Python规定的事。如果你没有语言基础,建议用Python Programming为参考书。这本书是计算机导论性质的教材,不需要编程基础。

  面向对象,包括面向对象的基本概念,类,方法,属性,继承等。Python是面向对象的语言,“一切皆对象”。面向对象是很难回避的。Python的面向对象机制是相对比较松散的,不像Java和C++那么严格。好处是容易学,容易维护,坏处是容易犯错。

  应用功能,包括IO,数据容器如表和词典,内置函数,模块,格式化字符串等。这些在其它语言中也经常出现,有比较强的实用性。

  高级语法,上下文管理器,列表推导,函数式编程,装饰器,特殊方法等。这些语法并不是必须的,你可以用前面比较基础的语法实现。学这些高级语法的主要原因是:它们太方便了。比如列表推导一行可以做到的事情,用循环结构要好几行才行。

  学习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),或者写博客。

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

谁得到更多的Python或JavaScript? 谁得到更多的Python或JavaScript? Apr 04, 2025 am 12:09 AM

Python和JavaScript开发者的薪资没有绝对的高低,具体取决于技能和行业需求。1.Python在数据科学和机器学习领域可能薪资更高。2.JavaScript在前端和全栈开发中需求大,薪资也可观。3.影响因素包括经验、地理位置、公司规模和特定技能。

distinctIdistinguish有关系吗 distinctIdistinguish有关系吗 Apr 03, 2025 pm 10:30 PM

distinct 和 distinguish 虽都与区分有关,但用法不同:distinct(形容词)描述事物本身的独特性,用于强调事物之间的差异;distinguish(动词)表示区分行为或能力,用于描述辨别过程。在编程中,distinct 常用于表示集合中元素的唯一性,如去重操作;distinguish 则体现在算法或函数的设计中,如区分奇数和偶数。优化时,distinct 操作应选择合适的算法和数据结构,而 distinguish 操作应优化区分逻辑效率,并注意编写清晰可读的代码。

H5页面制作是否需要持续维护 H5页面制作是否需要持续维护 Apr 05, 2025 pm 11:27 PM

H5页面需要持续维护,这是因为代码漏洞、浏览器兼容性、性能优化、安全更新和用户体验提升等因素。有效维护的方法包括建立完善的测试体系、使用版本控制工具、定期监控页面性能、收集用户反馈和制定维护计划。

如何理解 C 语言中的 !x? 如何理解 C 语言中的 !x? Apr 03, 2025 pm 02:33 PM

!x 的理解!x 是 C 语言中的逻辑非运算符,对 x 的值进行布尔取反,即真变假,假变真。但要注意,C 语言中真假由数值而非布尔类型表示,非零视为真,只有 0 才视为假。因此,!x 对负数的处理与正数相同,都视为真。

C语言中 sum 是什么意思? C语言中 sum 是什么意思? Apr 03, 2025 pm 02:36 PM

C语言中没有内置的sum函数用于求和,但可以通过以下方法实现:使用循环逐个累加元素;使用指针逐个访问并累加元素;对于大数据量,考虑并行计算。

高级引导教程:掌握自定义和组件 高级引导教程:掌握自定义和组件 Apr 04, 2025 am 12:04 AM

掌握Bootstrap自定义和组件使用的方法包括:1.使用CSS变量和Sass预处理器进行样式自定义;2.深入了解并修改组件结构和行为。通过这些方法,可以创建独特的用户界面,提升网站的响应性和用户体验。

如何获取58同城工作页面上的实时申请和浏览人数数据? 如何获取58同城工作页面上的实时申请和浏览人数数据? Apr 05, 2025 am 08:06 AM

如何在爬虫时获取58同城工作页面的动态数据?在使用爬虫工具爬取58同城的某个工作页面时,可能会遇到这样�...

爱心代码复制粘贴 爱心代码免费复制粘贴手机 爱心代码复制粘贴 爱心代码免费复制粘贴手机 Apr 04, 2025 am 06:48 AM

复制粘贴代码并非不可行,但需谨慎对待。代码中环境、库、版本等依赖项可能与当前项目不匹配,导致错误或不可预料的结果。务必确保上下文一致,包括文件路径、依赖库和 Python 版本。此外,复制粘贴特定库的代码时,可能需要安装该库及其依赖项。常见的错误包括路径错误、版本冲突和代码风格不一致。性能优化需根据代码原用途和约束重新设计或重构。理解并调试复制的代码至关重要,切勿盲目复制粘贴。

See all articles