Python学习记录——了解Python是什么

Python由吉多·范罗苏姆在1980年代末创作,设计初衷是作为ABC语言的开源替代品。它以其易读性、丰富的库和跨平台兼容性著称,被广泛应用于Web开发、自动化运维、人工智能、网络爬虫、科学计算和游戏开发等领域。Python的优缺点包括语法简单、开源免费、功能强大但运行速度相对较慢。
摘要由CSDN通过智能技术生成

Python的诞生与简介

        一、Python的诞生

        Python的最初设计者是吉多·范罗苏姆(Guido van Rossum),1956年出生,1982年从阿姆斯特丹大学获得了数学和计算机硕士学位。1986年时在荷兰阿姆斯特丹的国家数学和计算机科学研究学会(CWI)工作,并参与到ABC语言的开发。

图1 Python之父—— Guido van Rossum(吉多.范罗苏姆)

       Python 的诞生是极具戏曲性的,据 Guido 自述记载,Python 语言是在圣诞节期间为了打发无聊的时间而开发的,之所以会选择 Python 作为该编程语言的名字,是因为 Guido 是 Monty Python 戏剧团的忠实粉丝。

        Python 语言是在 ABC 语言的基础上发展而来,其设计的初衷是成为 ABC 语言的替代品。ABC 语言虽然是一款功能强大的高级语言,遗憾的是,由于 ABC 语言不开放的原因,导致它没有得到普及应用。基于这个考虑,Guido 在开发 Python 之初就决定将其开源。

        二、Python的简介

        1. Python简介

         Python 中不仅添加了许多 ABC 语言没有的功能,同时,还为其设计了各种丰富而强大的库,利用这些 Python 库,程序员可以把使用其它语言制作的各类模块(尤其是C语言和 C++)很轻松地“黏连”在一起,因此 Python 又常被称为“胶水”语言。

        注意:这里所说的库和模块,简单地理解就是一个个的源文件,每个文件中都包含可实现各种功能的方法(也可称为函数)。

        Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。它的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。

  • Python 是一种解释型语言: 开发过程中没有了编译这个环节。类似于PHP和Perl语言。 一个用编译性语言比如 C 或 C++ 写的程序可以从源文件(即 C 或 C++ 语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。当你运行你的程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而 Python 语言写的程序不需要编译成二进制代码。你可以直接从源代码运行程序。在计算机内部,Python 解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。事实上,由于你不再需要担心如何编译程序,如何确保连接转载正确的库等等,所有这一切使得使用 Python 更加简单。由于你只需要把你的 Python 程序拷贝到另外一台计算机上,它就可以工作了,这也使得你的 Python 程序更加易于移植。

  • Python 是交互式语言: 我们可以在一个 Python 提示符 >>> 后直接执行代码。

  • Python 是面向对象语言: Python是一种函数式的编程语言&面向对象的编程语言,它的核心设计思想:在Python中,一切皆对象,这个对象可以是函数,也可以是类,也可以是变量。支持面向对象的风格或代码封装在对象的编程技术,它是一种跨平台的编程语言,这意味着它能够运行在所有主流的操作系统中。

       面向过程:在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。

        面向对象:在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。

        2. Python的优缺点

        优点

        (1)语法简单:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单,代码定义的更清晰,相当容易维护的。

        (2)开源且免费:程序员使用 Python 编写的代码是开源的;Python 解释器和模块是开源的;Python是开源且免费的。

        (3)兼容性好,可移植:Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好。基于其开放源代码的特性,Python可以被移植(也就是使其工作)到许多平台。

        (4)互动模式:互动模式的支持,可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断。

        (5)可扩展:如果需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,可以使用C或C++完成那部分程序,然后从Python程序中调用。

        (6)数据库:Python提供所有主要的商业数据库的接口。

        (7)GUI编程:Python支持GUI可以创建和移植到许多系统调用。

        (8)功能强大:Python 封装较深,屏蔽了很多底层细节,比如 Python 会自动管理内存(需要时自动分配,不需要时自动释放);Python 的模块众多,基本实现了所有的常见的功能,从简单的字符串处理,到复杂的 3D 图形绘制,借助 Python 模块都可以轻松完成。

        缺点:

        (1)运行速度慢:Python 速度慢不仅仅是因为一边运行一边“翻译”源代码,还因为 Python 是高级语言,屏蔽了很多底层细节。这个代价也是很大的,Python 要多做很多工作,有些工作是很消耗资源的,比如管理内存。所以它的运行速度几乎是最慢的,不但远远慢于 C/C++,还慢于 Java。有速度要求的话,可以用 C/C++ 改写关键部分吧。

        (2) 代码加密困难:不像编译型语言那样,源代码会被编译成可执行程序(这个编译后的执行文件就相当于对源码加密),对于 Python 来说是直接运行源代码,因此对源码加密是比较困难的。

        (3)构架选择太多。

        3. Python的应用领域

        (1)Web开发:例如,视频网站 Youtube 以及 Dropbox(一款网络文件同步工具)也都是用 Python 实现的。

        (2)自动化运维:自动化运维指利用一些开源的自动化工具来管理服务器,比如业界流行的 Ansible(基于Python开发),它能帮助运维工程师解决重复性的工作。

        (3)人工智能:目前世界上优秀的人工智能学习框架,比如 Google 的 TransorFlow(神经网络框架)、FaceBook 的 PyTorch(神经网络框架)以及开源社区的 Karas 神经网络库等,都是用 Python 实现的;Python 擅长进行科学计算和数据分析,支持各种数学运算,可以绘制出更高质量的 2D 和 3D 图像。

        (4)网络爬虫:Python 提供有很多服务于编写网络爬虫的工具,例如 urllib、Selenium 和 BeautifulSoup 等,还提供了一个网络爬虫框架 Scrapy。

        (5)科学计算:自 1997 年,NASA 就大量使用 Python 进行各种复杂的科学运算,并且,和其它解释型语言(如 Shell、JS、PHP)相比,Python 在数据分析、可视化方面有相当完善和优秀的库,例如 NumPy、SciPy、Matplotlib、pandas 等,这可以满足 Python 程序员编写科学计算程序的需求。

        (6)游戏开发:比如说,较为出名的游戏 Sid Meier's Civilization(文明,如图 3 所示)和 EVE(星战前夜)就是使用 Python 开发的,除此之外,Python 可以直接调用 Open GL 实现 3D 绘制,这是高性能游戏引擎的技术基础。事实上,有很多 Python 语言实现的游戏引擎,例如 Pygame、Pyglet 以及 Cocos 2d 等。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值