《Python从小白到大牛》第1章 开篇综述

《Python从小白到大牛》已经上市!

Python诞生到现在已经有20多年了,但是Python仍然是非常热门的编程语言之一,很多平台中使用Python开发。表1-1所示的是TIOBE社区发布的2017年3月和2018年3月的编程语言排行榜,可见Python语言的热度,或许这也是很多人选择学习Python的主要原因。

表 1‑1 TIOBE编程语言排行榜

Python语言历史

Python之父荷兰人吉多 范·罗苏姆(Guido van
Rossum)在1989年圣诞节期间,在阿姆斯特丹,为了打发圣诞节的无聊时间,决心开发一门解释程序语言。1991年第一个Python解释器公开版发布,它是用C语言编写实现的,并能够调用C语言的库文件。Python一诞生就已经具有了类、函数和异常处理等内容,包含字典、列表等核心数据结构,以及模块为基础的拓展系统。

2000年Python 2.0发布,Python 2
的最后一个版本是2.7,它还会存在较长的一段时间,Python
2.7支持时间延长到2020年。2008年Python 3.0发布,到本书编写时Python
3.6发布,注意本书编写是基于Python 3.6版本。Python 3与Python
2是不兼容的,由于很多Python程序和库都是基于Python 2的,所以Python 2和Python
3程序会长期并存的,不过Python
3的新功能吸引了很多开发人员,很多开发人员正从Python 2升级到Python
3。作为初学者如果学习Python应该从Python 3开始。

Python单词翻译“蟒蛇”,想到这种动物不会有很愉快的感觉。那为什么这种新语言取名为Python呢?那是因为吉多喜欢看英国电视秀节目蒙提·派森的飞行马戏团(Monty
Python’s Flying Circus),于是他将这种新语言起名为Python。

Python语言设计哲学——Python之禅

Python语言有它的设计理念和哲学,称为“Python之禅”。
Python之禅是Python的灵魂,理解Python之禅能帮开发人员编写出优秀的Python程序。在Python交互式方式运行工具IDLE中输入import
this命令,如图1-1所示显示内容就是Python之禅。

图1-1 IDLE中Python之禅

Python之禅翻译解释如下:

Python之禅 by Tim Peters

优美胜于丑陋

明了胜于晦涩

简洁胜于复杂

复杂胜于凌乱

扁平胜于嵌套

宽松胜于紧凑

可读性很重要

即便是特例,也不可违背这些规则

不要捕获所有错误,除非你确定需要这样做

如果存在多种可能,不要猜测

通常只有唯一一种是最佳的解决方案

虽然这并不容易,因为你不是Python之父

做比不做要好,但不假思索就动手还不如不做

如果你的方案很难懂,那肯定不是一个好方案,反之亦然

命名空间非常有用,应当多加利用

Python语言特点

Python语言能够流行起来,并长久不衰,得益于Python语言有很多优秀的关键特点。这些特点如下:

  1. 简单易学

Python设计目标之一就是能够方便学习,使用简单。它使你能够专注于解决问题而不是过多关注语言本身。

  1. 面向对象

Python支持面向对象的编程。与其他主要的语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。

  1. 解释性

Python是解释执行的,即Python程序不需要编译成二进制代码,可以直接从源代码运行程序。在计算机内部,Python解释器把源代码转换成为中间字节码形式,然后再把它解释为计算机使用的机器语言并执行。

  1. 免费开源

Python是免费开放源码软件之一。简单地说,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。

  1. 可移植性

Python解释器已经被移植在许多平台上,Python程序无需修改就可以在多个平台上运行。

  1. 胶水语言

Python被称为胶水语言,所谓胶水语言是用来连接其他语言编写的软件组件或模块。Python能够称为胶水语言是因为标准版本Python是用C编译的,称为CPython。所以Python可以调用C语言,借助于C接口Python几乎可以驱动所有已知的软件。

  1. 丰富的库

Python标准库(官方提供的)种类繁多,它可以帮助处理各种工作,这些库不需要安装直接可以使用。除了标准库以外,还有许多其他高质量的库可以使用。

  1. 规范的代码

Python采用强制缩进的方式使得代码具有极佳的可读性。

  1. 支持函数式编程

虽然Python并不是一种单纯的函数式编程,但是也提供了函数式编程的支持,如函数类型、Lambda表达式、高阶函数和匿名函数等。

  1. 动态类型

Python是动态类型语言,它不会检查数据类型,在变量声明是不需要指定数据类型。

Python语言应用前景

Python与Java语言一样,都是高级语言,他们不能直接访问硬件,也不能编译为本地代码运行。除此之外,Python几乎可以做任何事情。下面是Python语言主要的应用前景:

  1. 桌面应用开发

Python语言可以开发传统的桌面应用程序,Tkinter、PyQt、PySide、wxPython和PyGTK等Python库可以快速开发桌面应用程序。

  1. Web应用开发

Python也经常被用于Web开发。很多网站是基于Python
Web开发的,如豆瓣、知乎和Dropbox等。很多成熟的Python
Web框架,如Django、Flask、Tornado
、Bottle和web2py等Web框架。可以帮助开发人员快速开发Web应用。

  1. 自动化运维

Python可以编写服务器运维自动化脚本。很多服务器采用Linux和UNIX系统,以前很多运维人员编写系统管理Shell脚本实现运维工作。而现在使用Python编写系统管理,在可读性、性能、代码可重性、可扩展性等几方面优于普通Shell脚本。

  1. 科学计算

Python语言也广泛地应用科学计算,NumPy、SciPy和Pandas是优秀的数值计算和科学计算库。

  1. 数据可视化

Python语言也可将复杂的数据通过图表展示出来,便于数据分析。Matplotlib库是优秀的可视化库。

  1. 网络爬虫

Python语言很早就用来编写网络爬虫。谷歌等搜索引擎公司大量地使用Python语言编写网络爬虫。从技术层面上讲Python语言有很多这方面的工具,urllib、Selenium和BeautifulSoup等。还可以网络爬虫框架scrapy。

  1. 人工智能

人工智能是现在非常火的一个方向。Python广泛应用于深度学习、机器学习和自然语言处理等方向。由于Python语言的动态特点,很多人工智能框架是采用Python语言实现的。

  1. 大数据

大数据分析中涉及到的分布式计算、数据可视化、数据库操作等,Python中都有成熟库可以完成这些工作。Hadoop和Spark都可以直接使用Python编写计算逻辑。

  1. 游戏开发

Python可以直接调用Open
GL实现3D绘制,这是高性能游戏引擎的技术基础。所有很多Python语言实现的游戏引擎,如Pygame、Pyglet和Cocos2d等。

如何获得帮助

对于一个初学者必须要熟悉如下几个Python相关网址:

配套视频

http://www.zhijieketang.com/classroom/10/courses

配套源代码

http://www.zhijieketang.com/group/8

纸质版电商

京东:https://item.jd.com/12468732.html
当当:http://product.dangdang.com/25574315.html

电子书

https://yuedu.baidu.com/ebook/5823871e59fafab069dc5022aaea998fcc2240fc

作者微博:@tony_关东升
邮箱:eorient@sina.com
智捷课堂微信公共号:zhijieketang
Python读者服务QQ群:565736812


  1. PEP是Python Enhancement
    Proposals的缩写。PEP是为Python社区提供各种增强功能的技术规格说明书,也是提交新特性,以便让社区指出问题,精确化技术文档的提案。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,117评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,963评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,897评论 0 240
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,805评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,208评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,535评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,797评论 2 311
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,493评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,215评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,477评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,988评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,325评论 2 252
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,971评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,055评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,807评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,544评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,455评论 2 266

推荐阅读更多精彩内容