菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
1
0

Python 教程-了解Python

原创
05/13 14:22
阅读数 818

  • 什么是 Python
  • Python 能干什么?
  • 有什么特点?

什么是 Python

官方介绍:

Python 是一个易于学习、功能强大的编程语言。它拥有高效高级的数据结构和一种简单有效的面向对象编程的编程方法。Python 优雅的语法、动态类型及其解释性,使其成为一个大多数平台上许多领域中脚本编写和快速应用程序开发的理想语言。

Python的作者,Guido von Rossum(龟叔),荷兰人。数学和计算机硕士学位。热衷于做编程,是编程大佬中头发最多的人。

Python 的由来,作者接触并使用过诸如Pascal、C、 Fortran等语言。这些语言的基本设计原则是让机器能更快运行,因为在那个年代计算机的配置相比于现在相当低,早期的 MAC 电脑只有8MHz的CPU主频和128KB的RAM,一个大的数组就能占满内存。程序员恨不得用手榨取计算机每一寸的能力,写每一个程序都要像计算机一样思考,以便能写出更符合机器口味的程序。

Guido希望有一种语言,这种语言能够像C语言那样,能够全面调用计算机的功能接口,又可以可以轻松的编程。ABC语言让Guido看到希望。,ABC语言的目标是“让用户感觉更好”。ABC语言希望让语言变得容易阅读,容易使用,容易记忆,容易学习,并以此来激发人们学习编程的兴趣。

1989年,为了打发圣诞节假期,Guido开始写Python语言的编译/解释器。Python来自Guido所挚爱的电视剧Monty Python's Flying Circus (BBC1960-1970年代播放的室内情景幽默剧,以当时的英国生活为素材)。他希望这个新的叫做Python的语言,能实现他的理念(功能全面,易学易用,可拓展的语言)。

1991年,第一个Python编译器(同时也是解释器)诞生。它是用C语言实现的,并能够调用C库(.so文件)。从一出生,Python已经具有了:类(class),函数(function),异常处理(exception),包括表(list)和词典(dictionary)在内的核心数据类型,以及模块(module)为基础的拓展系统。
最初的Python完全由Guido本人开发。Python得到Guido同事的欢迎。他们迅速的反馈使用意见,并参与到Python的改进。Guido和一些同事构成Python的核心团队。
他们将自己大部分的业余时间用于hack Python (也包括工作时间,因为他们将Python用于工作)。

1994年1月:Python 1.0正式发布。

随着计算机的性能大大提高。程序员开始关注计算机的易用性,硬件性能不是瓶颈,Python又容易使用,所以许多人开始转向Python。Python用户来自许多领域,有不同的背景,对Python也有不同的需求。Python相当的开放,又容易拓展,所以当用户不满足于现有功能,很容易对Python进行拓展或改造。随后,这些用户将改动发给Guido,并由Guido决定是否将新的特征加入到Python或者标准库中。

2000年10月16日:Python 2.0发布,增加了完整的垃圾回收,提供了对Unicode的支持。与此同时,Python的整个开发过程更加透明,社区对开发进度的影响逐渐扩大,生态圈开始慢慢形成。

2008年12月3日:Python 3.0发布,它并不完全兼容之前的Python代码,不过因为目前还有不少公司在项目和运维中使用Python 2.x版本,所以Python 3.x的很多新特性后来也被移植到Python 2.6/2.7版本中。

我们使用的Python 3.7.x的版本是在2018年发布的,Python的版本号分为三段,形如A.B.C。其中A表示大版本号,一般当整体重写,或出现不向后兼容的改变时,增加A;B表示功能更新,出现新功能时增加B;C表示小的改动(例如:修复了某个Bug),只要有修改就增加C。

(Guido有一件T恤,写着:人生苦短,我用Python)。这一特征吸引了广大的程序员。Python开始流行。

程序员说的话

你可能会发现阅读像 ESR 这样伟大的黑客对 Python 的看法很有意思

  • Eric S. Raymond 是「大教堂和集市」的作者,也是 开源 一词的发明者。他说 Python 已经成为他最喜欢的编程语言。这篇文章是我第一次接触 Python 的真正灵感。
  • Bruce Eckel 是著名的 'Java 思维' 和 ' C++ 思维' 的作者。他说没有一种语言比 Python 更能提高他的工作效率。他说 Python 也许是唯一一种专注于让程序员更方便语言。请阅读 完整访谈了解更多详情。
  • Peter Norvig 是谷歌有名的 Lisp 作家和搜索质量总监。(感谢 Guido van Rossum 指出这一点)。他说 编写 Python 就像是编写伪代码。他说 Python 一直是谷歌不可分割一部分。

Python 能干什么?

前端应用开发

可以用Python快速完成网站的开发和WEB服务。例如:豆瓣、果壳网、Google、Dropbox等

系统网络运维

Linux运维是必须而且一定要掌握Python语言,它可以满足Linux运维工程师的工作需求提升效率,总而提升自己的能力,运维工程师需要自己独立开发一个完整的自动化系统时,Python 是首选语言。

3D 游戏

3D游戏开发Python也可以用来做游戏开发,因为它有很好的3D渲染库和游戏开发框架,目前来说就有很多使用Python开发的游戏,如迪斯尼卡通城、黑暗之刃。

科学与数字计算

科学与数字计算我们都知道现在来临了大数据的时代,数据可以说明一切问题的原因,Python语言成为了做数据分析师的第一首选。

人工智能

Python语言对于人工智能来说是最好的语言,但是这个需要一定的数据基础。

有什么特点?

简单

Python 是一个极简语言。读一个好的 Python 程序就像是在读英语,虽然英语很严格! Python 的这种伪代码特性是它最大的优点之一。它能够让你专注于问题的解决方法,而不是语言本身。

易于学习

如你所见,Python 非常容易上手。正如前面所提到的,Python 具有非常简单的语法。

免费开源

Python 是一个 FLOSS (Free/Libré and Open Source Software 免费/自由和开源的软件)的例子。简单来讲,你可以自由发布软件的副本,阅读它的源代码,对其进行修改,并且在新的免费程序中使用它的部分内容。FLOSS 基于共享知识社区的概念。这也是 Python 为什么如此优秀的原因之一——它已经被创造出来,并且被一个只想看到更好的 Python 的社区不断改进。

高级语言

当你使用 Python 编写程序时,你永远不需要考虑低级细节,诸如管理程序使用的内存等。

可移植

由于它的开源特性,Python 已经被移植(即,为了使它能够正常工作而修改)到许多平台上。如果你足够小心地避免任何系统相关的特征,那么你所有的 Python 程序在任意一个平台上都能正常工作,而不需要做任何的修改。

你可以在 GNU/Linux, Windows, FreeBSD, Macintosh, Solaris, OS/2, Amiga, AROS, AS/400, BeOS, OS/390, z/OS, Palm OS, QNX, VMS, Psion, Acorn RISC OS, VxWorks, PlayStation, Sharp Zaurus, Windows CE 以及 PocketPC 上使用 Python !

你甚至可以使用 Kivy 这样的平台为你自己的计算机、iPhone、iPad 以及 Android 创建游戏。

解释性(和编译性相对)

这需要一些解释。

用 C 或 C++ 等编译语言编写的程序,通过使用带有各种标志和选项的编译器,从 C 或 C++ 的源语言转换为计算机所使用的语言(二进制代码,即 0 和 1)。当你运行程序时,链接器/加载器软件把程序从硬盘复制到内存中并开始运行。

另一方面,Python 不需要编译成二进制。你可以直接从源代码 运行 程序。在内部,Python 会转换成一种被称为字节码的中间形式,然后将字节码转换成你的计算机的机器语言,然后运行它。 实际上,所有的这些操作使得 Python 更加易于使用,因为你不必去担心如何编译程序,也不必担心如何确保合适的库已经被连接和被加载等等。这也让你的 Python 程序更加具有移植性,因为你可以把你的程序复制到另一台计算机上,它依然可以正常工作!

面向对象

Python 既支持面向过程的编程又支持面向对象的编程。在 面向过程 的语言中,程序围绕着过程或者函数构建。在 面向对象 的语言中,程序围绕结合数据和方法的对象构建。Python 有一种非常强大又极其简单的 OOP 方法,特别是与 C++ 或者 Java 等大型语言相比而言。

可扩展

如果你需要一个关键的代码段使你的程序运行的更快,或者你不想公开某段算法,那么你可以使用 C 或者 C++ 编写程序的这一段代码,然后从 Python 程序中使用它。

可嵌入

你可以将 Python 嵌入到你的 C/C++ 程序中,为程序的用户提供 脚本 功能。

丰富的库

Python 标准库确实非常大。它能帮你做各种各样的事情,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV 文件、加密、GUI(图形用户界面)以及其它系统相关的东西。记住,只要安装了 Python ,所有的这些都可以使用。这就是所谓的 Python 的 内置电池 哲学。

除了标准库以外,你还可以在 Python 包索引 中找到其它各种高质量的库。

总结

Python 确实是一个让人兴奋又功能强大的语言。它将性能和特性完美地组合在一起,使得用 Python 编程既有趣又简单。

练习题

  1. 请问Python之父Guido van Rossum是:

    • 美国人
    • 中国人
    • 荷兰人
    • 芬兰人

      Guido van Rossum 荷兰人

  2. python底层是用什么语言编写的

    • C
    • C+
    • C++
    • Java

      python底层是用什么语言编写的C

  3. python是一款什么样的编程语言

    • 开源收费的
    • 闭源收费的
    • 免费开源的
    • 强迫氪金的

      免费开源的

发表评论

0/200
1 点赞
0 评论
收藏
为你推荐 换一批