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 目录 前几节我们介 ...
随机推荐
- 终于明白if __name__ == '__main__':了
其实很简单 if __name__ == '__main__': 就是一个判断 __name__是系统变量 __name__有一个特性,在当前文件运行是__main__,调用文件就是调用文件的路径了 ...
- 痞子衡嵌入式:简析i.MXRT1170 Cortex-M4 L-MEM ECC功能特点、开启步骤、性能影响
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是恩智浦i.MXRT1170上Cortex-M4内核的L-MEM ECC功能. 本篇是 <简析i.MXRT1170 Cortex-M ...
- 前端面试的那些事儿(1)~JavaScript 原始数据类型
前言 自我总结面试常问的一些细节,方便不断回顾与补充.第一次发表文章,如有问题或不足之处望及时指出. JavaScript 原始数据类型 1.1 基础数据类型 7大基础数据类型 boolean nul ...
- 云开发网站托管悄悄上线了 Next.js 的支持
我们知道部署web应用程序的最佳方式是作为静态HTML应用程序,因为他对搜索引擎很友好,速度快等等,这对我们写个人博客这样的小型网站无异于非常nice.如果你的应用可以作为静态HTML,那么可以试试N ...
- Spark SQL源码解析(三)Analysis阶段分析
Spark SQL原理解析前言: Spark SQL源码剖析(一)SQL解析框架Catalyst流程概述 Spark SQL源码解析(二)Antlr4解析Sql并生成树 Analysis阶段概述 首先 ...
- nginx+vue+thinkphp5.1部署,解决前端刷新404,以及前端404解决后,后台又404的问题
宝塔的话直接在网站的伪静态一栏中如下就行 location /admin { if (!-e $request_filename){ rewrite ^(.*)$ /index.php?s=$1 la ...
- php://input和parse_str()使用
php://input可以读取没有处理过的POST数据,总结起来就是, 在用$_POST获取不到由APP或者一些接口的回调数据时,就用php://input试试 实例 index.php <fo ...
- Windows 版本 Enterprise、Ultimate、Home、Professional
关于Windows 的安装光盘版本很多种,很多人不知道选择哪些. Ultimate 旗舰版,VISTA开始有了这个级别,是最全最高级的,一般程序开发的电脑,玩游戏的电脑,建议用它,不过对配置稍有一些要 ...
- rabbitMQ本地安装(Mac版)
一. 首先测试本机器是否安装wget命令 (可以通过wget www.baidu.com来测试,如果有响应则可直接进入步骤二,如果报错或者提示未安装wget则需要先安装wget) 1http://ft ...
- 有赞透明多级缓存解决方案(TMC)设计思路
引子 TMC 是什么 TMC,即"透明多级缓存(Transparent Multilevel Cache)",是有赞 PaaS 团队给公司内应用提供的整体缓存解决方案. TMC 在 ...