【Python基础篇】【2.走进Python的世界】python历史、特点、运行机制、应用领域等等

本文介绍了Python编程语言的基础知识,包括编程语言概念、Python的起源、特点(如简单易学、面向对象、可移植性等)、运行机制(解释型与编译型)、历史发展以及广泛应用领域,如软件开发、科学计算、网络爬虫等。
摘要由CSDN通过智能技术生成

Python基础入门



一、编程语言是什么

是用来定义 计算机程序 的形式语言。我们通过编程语言来编写程序代码,再通过语言处理程序执行向计算机发送指令,让计算机完成对应的工作。


二、什么是Python

Python就是一门解释型的编程语言,而且是现在世界上最流行的编程语言之一。

TIOBE 9 月 TOP 20 编程语言
在这里插入图片描述

Python是一门程序设计语言。在开发者眼里,语言可以分为3类:

  1. 自然语言:人能听懂的语言,例如汉语,英语,法语等等。
  2. 机器语言:机器能听懂的语言,机器只能听懂0和1。
  3. 程序设计语言:机器能够听懂,人能听懂的语言,例如Python,C,C++ 、C# 、Java等等。

同样的,在开发者眼里还可以分为高级程序设计语言和低级程序设计语言。越接近于人类的语言越高级
,例如Python;越接近于机器语言越低级,例如汇编就属于低级程序员设计语言。


三、Python的历史

喝水不忘挖井人,学习Python之前我们很有必要了解一下Python的过去和大家的祖师爷。

Python是1989年由Guido van Rossum 在圣诞节期间创建的,国内程序员比较喜欢简单的名字,所以取他名字的前三个字母gui,人送外号龟叔。至于为什么要将新的编程语言取名"Python",有以下两个原因:一是吉多·范罗苏姆最初认为运用UNIX系统或C语言的黑客们是他的新编程语言的目标用户;二是他喜欢看著名的系列喜剧《蒙提·派森的飞行马戏团》(The Monty Python’s Flying Circus),Python这一名字让他印象深刻,因为这个名字符合他的品味,也能吸引他的目标用户。所以就把他创建的这门语言叫做Python。

在这里插入图片描述
龟叔,真名"吉多·范罗苏姆",1956年出生于荷兰,26岁在阿姆斯特丹获得数学和计算机学硕士学位。

龟叔在获得硕士学位后,曾在在多个研究机构工作,包括荷兰阿姆斯特丹的国家数学和计算机科学研究学会(CWI)、美国马里兰州盖瑟斯堡(Gaithersburg)的国家标准及技术研究所(NIST)以及弗吉尼亚州雷斯顿(Reston)的国家创新研究公司(CNRI)。
在这里插入图片描述
2005年12月至2012年12月,吉多·范罗苏姆在谷歌(Google)工作,他用Python为谷歌撰写了面向网页的代码浏览工具。从2013年1月至今,吉多·范罗苏姆在Dropbox工作,并且与之前在谷歌一样,他可以将 50%的时间花在Python开发上。
截止到2018年末,龟叔也是诸多荣誉加身,比如年度NLUUG奖和Oracle Code One颁发的首届奠基者奖等等,在2018年7月12日,龟叔正式宣布引退。
在这里插入图片描述

“实际上,最近十年,退休的念头都在我脑海里徘徊。我年龄已经不小了,身体也有一些问题。作为 Python 社区的主要负责人,我需要一遍又一遍地去教社区的其他成员如何开展工作,同时需要一遍又一遍地向 Python 新人解释 Python 的语言哲学,这样超负荷的工作让我的健康状况更为恶化。
事情的引爆点在于一个颇具争议的 Python 改进提案(PEP 572),当我接受这个提案之后,Twitter 等社交媒体上出现了一些中伤我的评论。而更为心寒的是,这些评论居然大多来自 Python 的核心成员,我对他们失望至极!”
——龟叔的原话

62岁的龟叔,年事已高,再加PEP 572的事情,隐退或许是最合适的决定,只是遗憾的是,龟叔三十多年的Python之路,最终的告别略含心酸。
不过,Python赶上数据科学和人工智能,这几年的发展更是进入编程语言前三,上升趋势不减,未来可期,但愿在不久的将来,Python能给龟叔看到一个满意的答案,不负他三十余载的坚持和付出。


四、Python的特点

Python的特点主要有语法简洁、类库强大、胶水语言(调用其他语言的类库)。

简单易学

Python和其他语言比起来,它是一种通用型语言,在代码编写的时候非常的简单,可阅读性强,编写的代码虽然都是英文,但是这并不影响大家读不懂程序。python最大的优点之一是具有伪代码的本质,它使我们在开发python程序时,专注的是解决问题,而不是搞明白语言本身。

面向对象

Python它可以作为一种面向对象的编程语言使用,也可以是一个面向过程的语言。在面向过程的语言中,程序是由过程或是可重用代码的函数构建起来的。在面向对象的语言中,程序是由数据和功能组合而成的对象构建起来的。与其他主要的语言如C++和Java相比,python以一种非常强大又简单的方式实现面向对象编程。

可移植性

Python可以适合在多种操作系统中进行使用,因为也是Python中的特定之一,即使你在使用的时候,经常性的只使用一种操作系统,如何突然变了操作系统时,它也可以使用,因为它可以适用于任何的操作系统,而且不需要进行任何的修改。

解释型

在运行程序的时候,一般都是使用的Python解释器来对代码进行分析,它可以自己定义一个解释器,在解释器中对自己所定义的语法结构和生成的程序代码进行执行。需要注意的是,解释性语言,是不需要进行编译的。

开源

开源的意思就是免费使用,这也是Python最大的特点之一,它可以在这个软件中进行任意的操作,不会收取任何发费用,可以自由地发布这个软件的拷贝,阅读它的源代码,对它做改动,把它的一部分用于新的自由软件中。

丰富的库和模块

Python拥有能够处理各种任务的标准库模块,如 Math(数学函数),Re(正则表达式),Random(随机数生成)等模块,也支持很多功能强大的第三方库,如前文提到的,Python 目前支持的第三方库已达到几万之巨。

可扩展性和可嵌入性

Python 支持 C/C++ 接口,可以方便地嵌入由 C/C++ 编写的程序。同时,也可以把 Python 代码嵌入 C/C++ 程序中,从而提供脚本功能。


五、Python的运行机制

Python中IDLE是其自带的集成开发工具(IDE:同时拥有编辑、编译、调试、运行等多种功能的集成工具),并且它也是Python自带的编译器和解释器。
程序运行主要有两种机制:编译型和解释型。编译型是将代码(源文件)通过编译器,编译成机器码文件,当运行的时候直接执行机器码文件,例如C语言;解释型是将源文件通过解释器,逐行进行翻译并运行。

Python则属于解释型的语言。

解释型

缺点:执行慢
优点:可以跨平台(操作系统)

经过Python编译器编译后形成中间编码并整理成PyCodeObject对象形式暂时保存在内存中。此时电脑CPU仍然无法直接执行,需要经过解释器进行解释,再次翻译成CPU能够直接执行的各种计算机指令。Python是一门解释性语言,意味着Python在执行时是通过Python解释器翻译一行执行一行,如此循环往复直到所有的命令都执行完毕。

在Python中解释器主要的功能实现有三点

  • 1,把编译得到的在内存中的pyCodeObject程序对象转告给计算机处理模块,告诉它先后处理顺序。
  • 2,判断提交给处理器的已经编译过的pyCodeObject程序对象是否具有可重用性,若该对象有可重用性就将其保存到.pyc文件中,以便下次再用到时直接调用,不需再编译。
  • 3,解释器将计算机处理器运算后的结果呈现出来或返回给被调用处。因为要一行一行翻译后执行,所以像Python这种解释性语言运行起来速度会受到一定的影响。C语言是通过编译器直接将脚本一次性翻译成电脑能够看懂并执行的指令,执行起来会比Python快很多。而Java既可以用解释器也可以用编译器。

为什么Python不直接采用编译器从而提高其运行速度呢?原因如下

  • 1、这么做的意义不大,真正拖慢Python速度的不是解释器,而是其动态性的语言设计,很多特性要依赖于程序元数据。比如语句a+b,在执行它之前,电脑根本就不知道a和b是什么,是执行整数运算呢?还是浮点数运算?要知道,一般的计算机,执行整数运算和浮点数运算的运算单元是不一样的。
  • 2、编译成机器码可能在数值运算方面的性能会得到提升,但其他方面未必会得到显著的性能提升。而且编译也是要花时间的,C++的编译就经常超过半小时。

常用的python解释器

  • 1.CPython当我们从Python官方网站下载并安装好Python后,就获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。启动IDLE就是启动CPython解释器。CPython是使用最广的Python解释器。
  • 2.IPythonIPython是基于CPython之上的一个交互式解释器,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。
  • 3.PyPyPyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译,所以可以显着提高Python代码的执行速度。绝大部分Python代码都可以在PyPy下运行,但是PyPy对最新的第三方Python库支持得不是很好,有滞后性。
  • 4.JythonJython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。
  • 5.IronPythonIronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。

编译型

缺点:不能跨平台
优点:执行快

计算机不能直接理解机器语言(二进制语言)以外的其他语言,所以必须把由高级语言编写的程序翻译为机器可执行的机器语言,才能被计算机识别并执行。实现某种编程语言的这个翻译功能的机制被称为编译。实现编译功能的程序叫编译器。


六、Python的应用领域

在这里插入图片描述

常规软件开发

Python 支持函数式编程和面向对象程序设计,能够承担各种类型软件的开发工作。

科学计算与数据分析

Python 被广泛运用在科学计算和数据分析中,如生物信息学、物理、建筑、地理信息系统、图像可视化分析、生命科学等。

网络爬虫

也称为网络蜘蛛,是大数据行业获取数据额核心工具。能够编写网络爬虫的编程语言不少,但是 Python 绝对是其中的主流语言,基于 Python 的 Scrapy 是使用最多的爬虫框架之一。

Web应用开发

Python 具有一些优秀的Web 框架,如 Django、 Flask等。很多大型网站使用基于 Python 的 Web 框架开发,如 YouTube、 Dropbox、豆瓣等。

系统网络运维

在运维的工作中,有大量的重复性工作,并需要采用管理系统、监控系统、发布系统等实现自动化,提高工作效率。在这样的场景下, Python 是一门很合适的语言。

人工智能与机器学习

由于 Python 具有动态和良好的性能,现在几个非常有影响力的人工智能框架(如 TensorFlow、PyTorch等 )都提供了 Python 支持,一些机器学习方向、深度学习方向和自然语言处理方向的网站基本都是通过 Python 实现的。


❤️ 专栏简介:本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中,我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。
☀️ 专栏适用人群 :本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无论你是学生、职场人士还是对编程感兴趣的爱好者,都能从中受益。跟着我的学习笔记一起学习python吧。
🌙 专栏目标:本专栏的目标是帮助我自己记忆、方便回顾所学知识以及帮助其他想学习python的小伙伴掌握Python编程语言的基本概念和技巧,并逐步提高我们的编程能力。通过这个专栏,我将学会如何编写Python代码,理解各种数据类型、控制结构和函数,掌握常用的Python模块和库,以及应用Python解决实际问题。
⭐️ 专栏主要内容: 主要学习python的开发环境搭建;Python的基础知识,包括变量、数据类型、条件语句和循环等;python的数据结构和算法;python的函数和模块;python的文件处理等。
🌴 专栏说明 :如果文章知识点有错误的地方,欢迎大家随时在文章下面评论,我会第一时间作修改。让我们一起学习,一起努力,一起进步吧。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

My.ICBM

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值