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 目录 前几节我们介 ...
随机推荐
- 好用的mitmproxy代理抓包
安装证书 浏览器输入 `mitm.it` 下载证书有时候打不开,可能是起的服务卡死了,回车下命令行,再再网页刷新下载证书就可以了. mitmweb Chrome浏览器代理设置 打开的话,记得保存点一下 ...
- redis的多路复用是什么鬼
有没有人和我一样, 自打知道了redis, 就一直听说什么redis单线程, 使用了多路复用等等. 天真的我以为多路复用是redis实现的技术. 今天才发现, 我被自己骗了, 多路复用是系统来实现的. ...
- BI报表分析和数据可视化,推荐这三个开源工具!
开源篇 一.Superset 1.技术架构:Python + Flask + React + Redux + SQLAlchemy 2.使用人群: (1)开发/分析人员做好看板,业务人员浏览看板数据 ...
- 前端面试题之HTML和css-很实用的知识点
display: none; 与 visibility: hidden; 的区别 相同: 它们都能让元素不可见 区别: display:none;会让元素完全从渲染树中消失,渲染的时候不占据任何空间: ...
- php---算法和数据结构
<?php header("content-type:text/html;charset=utf-8"); $arr = array(3,5,8,4,9,6,1,7,2); ...
- sql注入学习笔记
1.什么是SQL注入 SQL注入就是指web应用程序对用户输入的数据的合法性没有判断,前端传入后端的参数带有数据库查询的语句,攻击者可以构造不同的SQL语句来实现对数据库的操作. 2.SQL注入原理 ...
- Ubuntu 18.04更换apt-get源
使用apt-get安装时,会很慢,更换了国内的源后,就可以解决这个问题了. 1. 备份sources.list文件 sudo cp /etc/apt/sources.list /etc/apt/sou ...
- Decision tree——决策树
基本流程 决策树是通过分次判断样本属性来进行划分样本类别的机器学习模型.每个树的结点选择一个最优属性来进行样本的分流,最终将样本类别划分出来. 决策树的关键就是分流时最优属性$a$的选择.使用所谓信息 ...
- Android:RelativeLayout 内容居中
Android RelativeLayout 内容居中解决办法: 使用Linearlayout本来利用父控件的gravity属性是很好解决的.但是对应RelativeLayout虽然有gravity属 ...
- 命令替换、权限、chmod、特殊权限
命令替换 把字符串里面的命令先执行再把该字符串输出,与PHP的""里面的变量被执行一样. $(COMMAND) `COMMAND` [root@jiakang ~]# echo & ...