Python 简明教程 --- 0,前言
微信公众号:码农充电站pro
个人主页:https://codeshellme.github.io
Life is short, you need Python!
—— Bruce Eckel
0,关于本书
本书是一本Python 教程,力图简洁易懂。
本书面向初学者,即使你没有任何编程经验,也可参照本教程学习。
由于Python 官方已在2020 年1 月 1日停止对Python 2.x 的更新,所以本书的所有示例都将使用Python 3 来进行测试。
注意:
如果你之前已经学过Python2.x,你会发现,从Python2.x转向Python3.x只需要花费很少的时间。
所以,对于初学者,并不需要刻意的纠结应该学习Python2.x还是Python3.x。
1,什么是Python
Python 是一门编程语言,简单易学(对初学者友好),且功能强大。
简单易学
相对于其它编程语言,比如C 语言,C++,Java等,这三门语言称得上是大型语言,因为它们的语法结构庞大,有较多复杂的语言概念。
而Python 的语法比较简单,不涉及较底层的计算机知识,它更偏向于解决实际问题,而不是晦涩难懂的理论知识。
如果你没有编程基础,Python 非常适合作为你的入门语言。
功能强大
虽说Python 简单易学,但并不意味着它能做的事情就不多。恰恰相反,Python 有很多现成的,成熟的模块供你使用,可以让你高效快速的开发应用。在人工智能领域,Python的便利性使其成为用于机器学习和人工智能的最受欢迎的语言。
你可以使用Python 做这些事情:
- 编写自动化脚本,处理琐碎的工作。
- 构建大型网站,比如国外的YouTube,国内的豆瓣。
- 编写爬虫软件,采集收集有用的信息。
- 做数据分析,从数据中挖掘价值。
- 做机器学习,构建人工智能应用。
2,Python 的发展
Python 语言是由荷兰程序员Guido van Rossum(俗称“龟叔”) 于1989 年发明,到现在已有30 年的历史。龟叔给Python 的定位是优雅、明确、简单。
Python 是蟒蛇的意思,之所以叫这个名字,是因为
Guido van Rossum当时很喜欢看一部名叫《蟒蛇马戏团》英剧。
从Python 诞生到现在,它经过了三个大的版本,分别是Python 1.x,Python 2.x,Python 3.x。
其中Python 2.7 是一个广泛使用的版本,也是Python2.x 的最后一个版本。目前,最新的版本是Python 3.8。
Python 3.x 相比Python 2.x 有较大的改变,Python 3.x 为了解决一些历史遗留问题,并不向前兼容Python 2.x,但它们的基本语法并没有多大的改变。
下表是Python 发展的几个重要的时间点:
| 时间 | 版本 |
|---|---|
| 1991 年 | Python 0.9 发布,这是Python 的第一个发布版本 |
| 1994 年 | Python 1.0 发布 |
| 2000 年 | Python 2.0 发布 |
| 2008 年 | Python 3.0 发布 |
| 2010 年 | Python 2.7 发布 |
| 2019 年 | Python 3.8 发布 |
| 2020 年 | Python 官方停止对Python 2.x 的更新 |
3,Python 特点
Python 有如下特点:
- 解释型语言
编程语言有编译型语言和解释型语言之分。
编译型语言需要先将源代码,通过该语言的编译器转换成二进制可执行程序,才能运行,比如C 语言,C++,Java 等。
解释型语言则不需要进行编译,直接通过其虚拟机/解释器运行源代码即可,比如Python 语言,在运行时直接使用Python 解释器 运行源代码即可。
需要注意的是,所有程序的运行都是通过CPU 来执行的,而CPU 只认识二进制(即0/1)。所以,任何语言编写的代码,都得变成二进制,才能被执行。
因此,解释型语言并不是说没有经过编译阶段,只是对于使用者(程序员)来说,可以不关心编译阶段,因为解释器在处理代码时会实时快速的将代码转换成二进制,紧接着就会执行二进制代码。
- 面向对象
使用Python 语言不仅可以面向过程编程,也可以面向对象编程(因为Python 中也有类Class 的概念)。这也是对初学者比较友好的一点,你可以使用自己喜欢,习惯的编程方式来编写Python 代码。
- 交互模式
Python 解释器就是一个交互式终端,你输入一段代码,它可以实时的将结果反馈给你。这样,你就可以方便的使用它测试,验证你的想法。
- 可移植
因为Python 语言建立在Python 虚拟机/解释器之上,所以,只要你在不同的平台安装了Python 解释器,那么你的Python 代码就可以在不同的平台上运行。
- 可扩展
Python 俗称胶水语言,意思就是你可以很方便的,将Python 语言嵌入其它编程语言(反过来亦可)。这样可以利用不同语言的优点,更好的达到我们的目的。
- 极其丰富的模块
Python 的功能强大性和方便性,一个很重要的原因是因为它有很多便利强大的模块,让你可以使用简单几行代码,实现复杂的功能。
在后面的学习中,我们会介绍很多实用的模块。
4,Python 的流行度
根据TIOBE 指数,Python 在近几年的占比一直呈上升趋势,尤其是近一年来,一直稳居前三名。
下图是TIOBE 指数统计的10 种流行的编程语言,在近20 年的变化趋势。

Python 能取得现在的成绩,跟它的“简单,强大” 的特点是分不开的。
又由于近几年大数据和人工智能的不断发展,而Python 在这些领域的适用性,使得Python 的地位越来越不可替代。
5,关于本书读者
任何人都可以学习Python,但并不是谁都需要学习Python,如果你属于以下情况之一,那么你可能需要学习Python:
- 你从事IT 行业(比如程序员),但之前没有学习过Python,那么学习Python 可以加大你技能的广度。
- 你不是专业人士,但将来想从事编码工作,那么Python 可以作为你的入门语言。
- 你不是专业人士,将来也不想从事编码工作,只是对它感兴趣,喜欢钻研体验新鲜事物,那你也可以学习Python,简单的学习也花费不了多少时间。
- 你不是专业人士,将来也不想从事编码工作,但自己日常办公经常使用电脑和网络,并且你的工作有很多重复性,或者需要分析一些数据。那么你可以学习Python,自己写一些简单的脚本,来替你完成一些日常琐碎的工作。
只要你属于以上情况之一,那么本教程适合你。
接下来,就让我们愉快的学习Python 吧!
欢迎关注作者公众号,获取更过技术干货。

Python 简明教程 --- 0,前言的更多相关文章
- Python 简明教程 --- 3,Python 基础概念
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 控制复杂性是计算机编程的本质. -- Brian Kernighan 了解了如何编写第一个Pytho ...
- Python 简明教程 --- 2,第一个Python 程序
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 如果你发现特殊情况太多,那你肯定是用错方法了. -- Carig Zerouni 当你在自己的电脑上 ...
- Python 简明教程 --- 1,搭建Python 环境
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 人生苦短,我用Python. -- 龟叔T恤 Python 是一门解释型语言,所以要想运行Pytho ...
- Python 简明教程 --- 4,Python 变量与基本数据类型
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 任何一个人都会写出能够让机器理解的代码,只有好的程序员才能写出人类可以理解的代码. -- Marti ...
- Python 简明教程 --- 5,Python 表达式与运算符
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 靠代码行数来衡量开发进度,就像是凭重量来衡量飞机制造的进度. -- Bill Gates 目录 1, ...
- 【笔记】Python简明教程
Python简明教程,此资源位于http://woodpecker.org.cn/abyteofpython_cn/chinese/ s=u'中文字符' #u表示unicode,使用u之后能正常显示中 ...
- python中global的用法——再读python简明教程
今天看了知乎@萧井陌的编程入门指南,想重温一下 <python简明教程>,对global的用法一直不太熟练,在此熟练一下,并实践一下python中list.tuple.set作为参数的区别 ...
- python简明教程
Python简明教程 MachinePlay关注 0.7072018.09.26 01:49:43字数 2,805阅读 9,287 Python一小时快速入门 1.Python简介 pylogo. ...
- Python 简明教程 --- 14,Python 数据结构进阶
微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 如果你发现特殊情况太多,那很可能是用错算法了. -- Carig Zerouni 目录 前几节我们介 ...
随机推荐
- 设计模式-原型模式(Prototype)【重点:浅复制与深复制】
讲故事 最近重温了一下星爷的<唐伯虎点秋香>,依然让我捧腹不已,幻想着要是我也能有一名秋香如此的侍女,夫复何求呀,带着这个美好的幻想沉沉睡去... 突然想到,我是一名程序猿呀,想要什么对象 ...
- Java类的使用
在一个Java文件中写两个类:一个基本的类,一个测试类.注意:文件名称和测试类名称一致. 如何使用呢?创建对象使用.如何创建对象呢?格式:类名 对象名 = new 类名(); Student s = ...
- GOLANG 闭包和普通函数的区别
闭包和匿名函数是一回事 闭包使用完毕之后不会自动释放,值依然存在 普通函数调用完毕后,值会自动释放
- hash算法解决冲突的方案
1, 开放定址法: 所谓的开放定址法就是一旦发生了冲突,就去寻找下一个空的散列地址,只要散列表足够大,空的散列地址总能找到,并将记录存入 公式为:fi(key) = (f(key)+di) MOD m ...
- 增量学习不只有finetune,三星AI提出增量式少样本目标检测算法ONCE | CVPR 2020
论文提出增量式少样本目标检测算法ONCE,与主流的少样本目标检测算法不太一样,目前很多性能高的方法大都基于比对的方式进行有目标的检测,并且需要大量的数据进行模型训练再应用到新类中,要检测所有的类别则需 ...
- opencv-2-VS2017与QT显示图像
opencv-2-VS2017与QT显示图像 opencvqtVSC++ 目的 使用 VS 构建第一个 opencv 程序 使用 QT 构建 第一个 opencv 程序 VS 导入 QT 程序 开始 ...
- zabbix管理,添加监控主机
一:添加本机为监控主机 二.监控其他Linux主机agent端 1.环境部署 [root@localhost ~]# hostname agent.zabbix.com[root@localhost ...
- Linux系统管理第五次作业 LVM逻辑卷 磁盘配额
1.为主机增加80G SCSI 接口硬盘 2.划分三个各20G的主分区 [root@localhost ~]# fdisk /dev/sdf 欢迎使用 fdisk (util-linux 2.23.2 ...
- linux rpm包
rpm包,软件包,程序包,以.rpm结尾的包 我们刚开始安装的Linux系统是最小化安装(minimol),只安装系统,不安装不必要的软件包 刚开始vim,ifconfig,tree等命令都没有,当然 ...
- 记django从1.11.7升级到2.0.1
第一步:升级django之后记录下django等其他相关依赖包的版本号. 在terminal中输入 pip freeze, 获取所有包的版本号.为了在升级不成功后可以回到低版本. 第二步:卸载再重装d ...