微信公众号:码农充电站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.xPython 2.xPython 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 有如下特点:

  1. 解释型语言

编程语言有编译型语言解释型语言之分。

编译型语言需要先将源代码,通过该语言的编译器转换成二进制可执行程序,才能运行,比如C 语言,C++,Java 等。

解释型语言则不需要进行编译,直接通过其虚拟机/解释器运行源代码即可,比如Python 语言,在运行时直接使用Python 解释器 运行源代码即可。

需要注意的是,所有程序的运行都是通过CPU 来执行的,而CPU 只认识二进制(即0/1)。所以,任何语言编写的代码,都得变成二进制,才能被执行。

因此,解释型语言并不是说没有经过编译阶段,只是对于使用者(程序员)来说,可以不关心编译阶段,因为解释器在处理代码时会实时快速的将代码转换成二进制,紧接着就会执行二进制代码。

  1. 面向对象

使用Python 语言不仅可以面向过程编程,也可以面向对象编程(因为Python 中也有类Class 的概念)。这也是对初学者比较友好的一点,你可以使用自己喜欢,习惯的编程方式来编写Python 代码。

  1. 交互模式

Python 解释器就是一个交互式终端,你输入一段代码,它可以实时的将结果反馈给你。这样,你就可以方便的使用它测试,验证你的想法。

  1. 可移植

因为Python 语言建立在Python 虚拟机/解释器之上,所以,只要你在不同的平台安装了Python 解释器,那么你的Python 代码就可以在不同的平台上运行。

  1. 可扩展

Python 俗称胶水语言,意思就是你可以很方便的,将Python 语言嵌入其它编程语言(反过来亦可)。这样可以利用不同语言的优点,更好的达到我们的目的。

  1. 极其丰富的模块

Python 的功能强大性和方便性,一个很重要的原因是因为它有很多便利强大的模块,让你可以使用简单几行代码,实现复杂的功能。

在后面的学习中,我们会介绍很多实用的模块。

4,Python 的流行度

根据TIOBE 指数,Python 在近几年的占比一直呈上升趋势,尤其是近一年来,一直稳居前三名。

下图是TIOBE 指数统计的10 种流行的编程语言,在近20 年的变化趋势。



Python 能取得现在的成绩,跟它的“简单,强大” 的特点是分不开的。

又由于近几年大数据和人工智能的不断发展,而Python 在这些领域的适用性,使得Python 的地位越来越不可替代。

5,关于本书读者

任何人都可以学习Python,但并不是谁都需要学习Python,如果你属于以下情况之一,那么你可能需要学习Python:

  • 你从事IT 行业(比如程序员),但之前没有学习过Python,那么学习Python 可以加大你技能的广度。
  • 你不是专业人士,但将来想从事编码工作,那么Python 可以作为你的入门语言。
  • 你不是专业人士,将来也不想从事编码工作,只是对它感兴趣,喜欢钻研体验新鲜事物,那你也可以学习Python,简单的学习也花费不了多少时间。
  • 你不是专业人士,将来也不想从事编码工作,但自己日常办公经常使用电脑和网络,并且你的工作有很多重复性,或者需要分析一些数据。那么你可以学习Python,自己写一些简单的脚本,来替你完成一些日常琐碎的工作。

只要你属于以上情况之一,那么本教程适合你。

接下来,就让我们愉快的学习Python 吧!


欢迎关注作者公众号,获取更过技术干货。

Python 简明教程 --- 0,前言的更多相关文章

  1. Python 简明教程 --- 3,Python 基础概念

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 控制复杂性是计算机编程的本质. -- Brian Kernighan 了解了如何编写第一个Pytho ...

  2. Python 简明教程 --- 2,第一个Python 程序

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 如果你发现特殊情况太多,那你肯定是用错方法了. -- Carig Zerouni 当你在自己的电脑上 ...

  3. Python 简明教程 --- 1,搭建Python 环境

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 人生苦短,我用Python. -- 龟叔T恤 Python 是一门解释型语言,所以要想运行Pytho ...

  4. Python 简明教程 --- 4,Python 变量与基本数据类型

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 任何一个人都会写出能够让机器理解的代码,只有好的程序员才能写出人类可以理解的代码. -- Marti ...

  5. Python 简明教程 --- 5,Python 表达式与运算符

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 靠代码行数来衡量开发进度,就像是凭重量来衡量飞机制造的进度. -- Bill Gates 目录 1, ...

  6. 【笔记】Python简明教程

    Python简明教程,此资源位于http://woodpecker.org.cn/abyteofpython_cn/chinese/ s=u'中文字符' #u表示unicode,使用u之后能正常显示中 ...

  7. python中global的用法——再读python简明教程

    今天看了知乎@萧井陌的编程入门指南,想重温一下 <python简明教程>,对global的用法一直不太熟练,在此熟练一下,并实践一下python中list.tuple.set作为参数的区别 ...

  8. python简明教程

    Python简明教程 MachinePlay关注 0.7072018.09.26 01:49:43字数 2,805阅读 9,287 Python一小时快速入门 1.Python简介   pylogo. ...

  9. Python 简明教程 --- 14,Python 数据结构进阶

    微信公众号:码农充电站pro 个人主页:https://codeshellme.github.io 如果你发现特殊情况太多,那很可能是用错算法了. -- Carig Zerouni 目录 前几节我们介 ...

随机推荐

  1. 终于明白if __name__ == '__main__':了

    其实很简单 if __name__ == '__main__': 就是一个判断 __name__是系统变量 __name__有一个特性,在当前文件运行是__main__,调用文件就是调用文件的路径了 ...

  2. 痞子衡嵌入式:简析i.MXRT1170 Cortex-M4 L-MEM ECC功能特点、开启步骤、性能影响

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是恩智浦i.MXRT1170上Cortex-M4内核的L-MEM ECC功能. 本篇是 <简析i.MXRT1170 Cortex-M ...

  3. 前端面试的那些事儿(1)~JavaScript 原始数据类型

    前言 自我总结面试常问的一些细节,方便不断回顾与补充.第一次发表文章,如有问题或不足之处望及时指出. JavaScript 原始数据类型 1.1 基础数据类型 7大基础数据类型 boolean nul ...

  4. 云开发网站托管悄悄上线了 Next.js 的支持

    我们知道部署web应用程序的最佳方式是作为静态HTML应用程序,因为他对搜索引擎很友好,速度快等等,这对我们写个人博客这样的小型网站无异于非常nice.如果你的应用可以作为静态HTML,那么可以试试N ...

  5. Spark SQL源码解析(三)Analysis阶段分析

    Spark SQL原理解析前言: Spark SQL源码剖析(一)SQL解析框架Catalyst流程概述 Spark SQL源码解析(二)Antlr4解析Sql并生成树 Analysis阶段概述 首先 ...

  6. nginx+vue+thinkphp5.1部署,解决前端刷新404,以及前端404解决后,后台又404的问题

    宝塔的话直接在网站的伪静态一栏中如下就行 location /admin { if (!-e $request_filename){ rewrite ^(.*)$ /index.php?s=$1 la ...

  7. php://input和parse_str()使用

    php://input可以读取没有处理过的POST数据,总结起来就是, 在用$_POST获取不到由APP或者一些接口的回调数据时,就用php://input试试 实例 index.php <fo ...

  8. Windows 版本 Enterprise、Ultimate、Home、Professional

    关于Windows 的安装光盘版本很多种,很多人不知道选择哪些. Ultimate 旗舰版,VISTA开始有了这个级别,是最全最高级的,一般程序开发的电脑,玩游戏的电脑,建议用它,不过对配置稍有一些要 ...

  9. rabbitMQ本地安装(Mac版)

    一. 首先测试本机器是否安装wget命令 (可以通过wget www.baidu.com来测试,如果有响应则可直接进入步骤二,如果报错或者提示未安装wget则需要先安装wget) 1http://ft ...

  10. 有赞透明多级缓存解决方案(TMC)设计思路

    引子 TMC 是什么 TMC,即"透明多级缓存(Transparent Multilevel Cache)",是有赞 PaaS 团队给公司内应用提供的整体缓存解决方案. TMC 在 ...