Python 英文本意为"蟒蛇”,直到 1989 年荷兰人 Guido van Rossum (简称 Guido)发明了一种面向对象的解释型编程语言(后续会介绍),并将其命名为 Python,才赋予了它表示一门编程语言的含义。

图 1 Python 图标

说道 Python,它的诞生是极具戏曲性的,据 Guido 的自述记载,Python 语言是他在圣诞节期间为了打发时间开发出来的,之所以会选择 Python 作为该编程语言的名字,是因为 Guido 是一个叫 Monty Python 戏剧团体的忠实粉丝。

看似 Python 是"不经意间”开发出来的,但丝毫不比其它编程语言差。自 1991 年 Python 第一个公开发行版问世后,2004 年 Python 的使用率呈线性增长,不断受到编程者的欢迎和喜爱;2010 年,Python 荣膺 TIOBE 2010 年度语言桂冠;2017 年,IEEE Spectrum 发布的 2017 年度编程语言排行榜中,Python 位居第 1 位。

直至现在(2019 年 6 月份),根据 TIOBE 排行榜的显示,Python 也居于第 3 位,且有继续提升的态势(如表 2 所示)。

表 2 TIOBE 2019 年 6 月份编程语言排行榜(前 10 名)

Jun 2019Jun 2018ChangeProgramming LanguageRatings

1

1

Java

15.004%

2

2

C

13.300%

3

4

Python

8.530%

4

3

C++

7.384%

5

6

Visual Basic .NET

4.624%

6

5

4.483%

8

7

2.567%

9

9

SQL

2.224%

10

16

Assembly language

1.479%

Python语言的特点

相比其它编程语言,Python 具有以下特点。

1) Python简单易学

"编程零基础,可以学习 Python 吗”,这是很多初学者经常问的一个问题。当然,计算机基础越好,对学习任何一门新的编程语言越有利,但如果你在编程语言的学习上属于零基础,也完全不用担心。

就我个人的观点,Python 作为学习编程的入门语言是再合适不过的,相比其他编程语言(比如 Java),Python 最大的优势就是非常容易上手。举个简单的例子,如果完成一个功能,使用 Java 实现需要 100 行代码,那么使用 Python 可能只需要 20 行。

有人可能会问,将 C 语言作为入门语言不好吗?就目前的就业形势来说,仅掌握 C 语言是很难找到高薪的工作的,而掌握 Python 则不同。

并且,在使用其它编程语言编程时(例如 C、C++),你需要时刻注意数据类型、内存溢出、边界检查等问题。而 Python 则不用,因为在底层实现时,它已经帮你一一处理好了。

2) Python功能强大

Python 强大的功能是很多用户支持 Python 的最重要的原因,从字符串处理到复杂的 3D 图形编程,Python 借助扩展模块都可以轻松完成。

实际上,Python 的核心模块已经提供了足够强大的功能,使用 Python 精心设计的内置对象可以完成许多功能强大的操作。

此外,Python 的社区也很发达,即使一些小众的应用场景,Python 往往也有对应的开源模块来提供解决方案。

3) Python是解释型语言

编程语言按照程序的执行方式,可以分为编译型和解释型两种,典型的编译型语言有 C、C++ 等,而解释型语言有 Java、Python 等。

相比编译型语言,解释型语言最大的优势就是可移植性强。也就是说,Python 具有非常好的跨平台的特性。

4) Python是面向对象的编程语言

Python 既支持面向过程编程,也支持面向对象编程。在"面向过程”的语言中(如 C 语言),程序仅仅是由可重用代码的函数构建起来的;而在"面向对象”的语言(如 C++)中,程序是由数据和功能组合而成的对象构建起来的。

而且和其它面向对象的编程语言(如 C++ 和 Java)相比,Python 是以一种非常强大,而又简单的方式实现的面向对象编程。

除此之外,Python 还有开源、有良好的可扩展性等特点。基于以上这些特性,Python 广泛应用在人工智能、图像处理、Web应用开发、自动化运维、网络爬虫等领域。

Python版本的选择

Python 自发布以来,共历经了 3 个大的版本,分别是:

1994 年发布的 Python 1.0 版本(已过时);

2000 年发布的 Python 2.0 版本,截止到 2019 年 3 月份,已经更新到 2.7.16;

2008 年发布的 Python 3.0 版本,截止到 2019 年 3 月份,已经更新到 3.7.3;

3 个版本中,Python 3.0 是一次重大的升级,为了避免引入历史包袱,Python 3.0 没有考虑与 Python 2.x 的兼容,这也就导致很长时间以来,Python 2.x 的用户不愿意升级到 Python 3.0。

除此之外,造成目前这种状况的另一个原因是,将现有应用从 Python 2.x 迁移到 Python 3.x 是一项不小的挑战。虽然有 2to3(后续会介绍)之类的工具可以进行代码的自动转换,但无法保证转换后的代码 100% 正确。而且,如果不做人工修改的话,转换后的代码性能可能还不如转换前。因此,将现有的复杂代码库迁移到 Python 3.x 上可能需要付出巨大的精力和成本,某些公司无法负担这些成本。

目前,根据统计显示,使用 Python 2.x 的开发者仍占 63.7%,而Python 3.x 的用户占 36.3%,由此可见,使用 Python 2.x 的用户还是占多数。在 2014 年,Python 创始人宣布,将 Python 2.7 支持时间延长到 2020 。

那么,初学者应该选择什么版本呢?这里建议大家选择 Python 3.x 版本,理由有以下几点:

使用 Python 3.x 已经是大势所趋

目前,虽然使用 Python 2.x 的开发者居多,但使用 Python 3.x 的开发者正在迅速增加,如图 1 所示:

图 1 Python 3.x 是大势所趋

另外,根据 PEP-404 这份文档,Python 2.x 版本将不会再发布 2.8 版本,且未来非常重要的项目(如 Django、Flask 和 Numpy)可能都将放弃对 2.x 的支持,仅支持 Python 3.x。因此,从长远来看,学习 Python 3.x 只有好处。

Python 3.x在 Python 2.x 的基础上做了功能升级

Python 3.x 对 Python 2.x 的标准库进行了一定程序的重新拆分和整合,比 Python 2.x 更容易理解,特别是在字符编码方面。Python 2.x 中对于中文字符串的支持性能不够好,需要编写单独的代码对中文进行处理,否则不能正确显示中文,而 Python 3.x 已经将该问题成功解决了。

Python 3.x 和 Python 2.x 思想基本是共通的

Python 3.x 和 Python 2.x 思想基本上是共通的,只有少量的语法差别,学会的 Python 3.x,只要稍微花点时间学习 Python 2.x 的语法,即可灵活运用这两个不同版本了。

注意,选择 Python 3.x 也不是没有弊端,很多扩展库的发行总是会滞后于 Python 的发行版本,甚至目前还有很多库不支持 Python 3.x。

因此,在选择 Python 时,一定要先考虑清楚自己的学习目的,比如说,打算做哪方面的开发,此方向需要用法哪些扩展库,以及这些扩展库支持的最高 Python 版本等,明确这些问题后,再选择适合自己的版本。

关于 Python 3.x 和 Python 2.x 具体的区别,可阅读《Python 3 和 Python 2 区别》一节。

初学者应该如何学习Python?

对于初学者来说,要做的就是专注于 Python 这一门语言,明确学习的重点,把握好学习节奏,由浅入深循序渐进地学习。根据本人多年的学习工作经验,把编程语言的学习分为以下 3 步,无论你是否有编程基础,都可以对照着来做。

1) 多实践,积累代码量

任何一门编程语言,其囊括的知识面都是非常广泛的,从基本的变量赋值、条件循环、到文件操作、并发编程等。但是,千万不要等到把所有知识点都学完了才开始练习,因为到那时你会发现,前面好不容易记住的知识都忘记了。

学习编程,是十分讲究实战的,没有捷径可走,越早练习,练得越多越勤,学习效果就越好。

2) 时刻注意代码规范

学习编程语言,在追求快和高效的同时,每一种编程语言都有必要的编码规范,一定不能忽略。

要想成为一名优秀的程序员,从起步阶段就要刻意地去培养自己的编程规范。例如,在刚开始编写代码时,不要将原本多行的代码全部写到一行,也不要随便用 a、b、c 等字母作为变量的名称。

3) 开发经验是必不可少的

要想真正熟练地掌握 Python(或者其它编程语言),拥有大中型产品的开发经验是必不可少的,它会让你站得更高,望得更远。

例如,我们几乎每天都会用搜索引擎,但你了解一个搜索引擎的服务器端实现吗?这是一个典型的面向对象设计,需要定义一系列相关的类和函数,还要从产品需求、代码复杂度、效率以及可读性等多个方面综合考量,同时在上线后还要进行各种优化等。

一个人自学python是非常艰难的,我当初就非常希望有个人能为我答疑解惑,跟其他小伙伴一起交流学习。所以有需要python学习资料,学习路线图,python学习电子书等等的或者是学习路上碰到什么问题可以看这里~群内每晚还python老师免费直播教学带你学Python。Python学习交流qq群:196872581

编程语言python入门-Python基础教程,Python入门教程(非常详细)相关推荐

  1. 零基础编程入门python视频-Python编程零基础小白快速入门完整全系列精品课

    1. 课程咨询加老师助理微信:助理1微信: chenjinglei88 ,助理2微信: omf6757 2. 决定购买并想得到陈敬雷老师亲自指导(课程或自己项目难题均可)加老师微信: chenjing ...

  2. 学习python需要什么基础-学习python需要什么基础吗?老男孩Python

    在很多人的记忆中python是一门非常简单的编程语言,也是很多转行人员的首选,不过因为大家对python不是很了解,所以比较关心学习python需要什么基础?其实python没有基础也是可以学习的,只 ...

  3. 初学者先学python语音好吗_献给Python初学者 零基础学习Python能学会吗

    献给Python初学者 零基础学习Python能学会吗 时间:2018-01-08     来源:零基础学习Python方法讲解 零基础学习Python能学会吗?这个问题几乎是所有初学Python的小 ...

  4. python编程入门免费_python编程入门 零基础学习Python基础(附带最新免费教程)...

    本篇是面向编程零基础学员的Python入门教程,内容涵盖了Python的基础知识和初步应用.以较轻快的风格,向零基础学习者介绍了一门时下比较流行的.并且用途比较广泛的编程语言.同时,其语法简洁而清晰, ...

  5. 自学python编程免费教程-python编程入门 零基础学习Python基础(附带最新免费教程)...

    本篇是面向编程零基础学员的Python入门教程,内容涵盖了Python的基础知识和初步应用.以较轻快的风格,向零基础学习者介绍了一门时下比较流行的.并且用途比较广泛的编程语言.同时,其语法简洁而清晰, ...

  6. 平均薪资29036的Python,零基础初学者如何入门?

    Python可从爬虫入门 强答一波吧,初学最开始先别看Python多线程和常用的数据结构,建议先学习下基本语法.然后尝试着写个小爬虫,体会下这门语言.如果对爬虫感兴趣的话,可以先从爬虫入门.以下分享些 ...

  7. 零基础学python书籍-0基础学python,有什么教程或者书可以推荐吗?

    推荐两本适合小白的python书籍,希望能对你有所帮助. <python编程从入门到实践> /> 本书是一本针对所有层次的Python 读者而作的Python 入门书.全书分两部分: ...

  8. 学习python需要什么基础-学习python需要什么基础

    Python编程基础知识的学习最终目的是应用于项目中,因此,项目实战训练必不可少.下面小编给大家介绍学习python需要什么基础,一起来看看吧. 学习python需要掌握的基础 1.要有决心 做任何事 ...

  9. 学python需要什么基础-学习python需要什么基础

    Python编程基础知识的学习最终目的是应用于项目中,因此,项目实战训练必不可少.下面小编给大家介绍学习python需要什么基础,一起来看看吧. 学习python需要掌握的基础 1.要有决心 做任何事 ...

  10. 学习python需要什么基础-自学python需要什么基础,要掌握哪些知识?

    Python语言的应用非常广泛.我们一定要掌握一些基础知识的储备,如果缺少一些基础知识的储备,那么我们在学习Python语言的过程中将会会感觉到非常难,比如,在学习Python语言的过程中我们需要具备 ...

最新文章

  1. ---Android源码的下载单独的git库的方法
  2. 强化学习-Vanilla Policy Gradient(VPG)
  3. linux下文件权限管理
  4. 服务降级的概念及应用手段
  5. mysql显示修改密码_MySQL修改密码
  6. 上周ASP.NET英文技术文章推荐[05/06 - 05/12]
  7. Redis面试常问4-- 如何实现异步队列 Blpop key timeout
  8. Python中相同的值在内存中到底会保存几份
  9. 韩顺平老师的学习方法
  10. 计算机硬件不仅使用二进制,【判断题】计算机硬件中不仅使用二进制表示数据,也经常使用十六进制。...
  11. echarts 中国地图——迁徙流向图
  12. 军用设备环境试验方法湿热试验标准
  13. 华为荣耀鸿蒙3.0安装谷歌Play商店,安装谷歌服务三件套GMS,Google
  14. 背景色透明度影响字体的透明度
  15. 物欲横流的社会中,有没有那么一首诗、一首歌、一句话、一个词....不经意间勾起了你心中无限的回忆,甚至心都跟着微微颤抖了一下
  16. php网站源码木马查杀检测工具
  17. 滤波器频率响应 matlab,滤波器频率响应与实际滤波情况不符合
  18. 【iOS-iap防护】验证用户付费收据!拒绝iap Cracker!拒绝iap Free!让iphone越狱用户无从下手!(作者新浪微博: @李华明Himi )
  19. 魔兽世界服务端源码各个重要文件详细情况说明开服一条龙
  20. Lua 错误之 attempt to index a function value

热门文章

  1. 通过有向图的可达矩阵判断有向图的连通类型
  2. 优化算法(一)—— 模拟退火算法(SA算法) 实战
  3. springboot项目控制层的接口注入报错
  4. CnPack IDE 专家包,delphi程序开发的好助手
  5. 双色球助手2.0---最新发布----完全免费
  6. .NET Framework高低版本兼容问题解决办法
  7. Structs2文件上传以及预览
  8. 破解版 中易广告联盟程序 v6.0
  9. 多媒体网路multimedianetworkingCDN的全称是Content Delivery NetworkSIP(Session Initiation Protocol)是一个应用层的信
  10. 如何快速提交网站备案 ICP备案