初识python(一)

目录

(一)python是什么?

(二)python名字的由来

(三)python的缺点是什么?

(四)python技术上的优点

面向对象和函数式

免费

可移植

可混合

相对简单

(五)python解释器

(六)字节码编译

(七)python虚拟机(PVM)

(八)python交互式命令行

(九)python的IDLE和其他IDE

IDLE

其他IDE

 (十)模块


(一)python是什么?

        python是一门通用型的编程语言,一般来说,python可定义为一门面向对象的脚本语言。python是一门融合了面向过程、函数式和面向对象编程范式的多目标语言。

        无论怎样,术语“脚本”一词已经如同胶水一样黏在了python上。人们往往用脚本而不是程序来描述python的代码文件,脚本往往倾向于描述简单的顶层代码文件,而程序用来描述那些相对复杂一点的多文件应用。

(二)python名字的由来

        Python的创始人为荷兰人吉多·范罗苏姆[3] (Guido van Rossum)。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC 语言的一种继承。之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是取自英国20世纪70年代首播的电视喜剧《蒙提.派森的飞行马戏团》(Monty Python's Flying Circus)而该团体被称为喜剧界的披头士,因为其影响力之巨,不亚于披头士对于音乐的影响,MontyPython的影响力一直往后持续数十年,不但衍生出巡回舞台剧,还有多部电影,音乐专辑等。而Python之父Guidovon Rossum也正是受了其深刻的影响,把自身研发出来的计算机语言命名为Python。

(三)python的缺点是什么?

        python最重大且普遍的唯一缺点就是——不够快!在现有的实现方式下,与c和c++这类完全编译并且较底层的语言相比,python的执行速度还不够快。

(四)python技术上的优点

面向对象和函数式

         从根本上来讲,python是一种面向对象的语言。它的类模型支持多态、运算符重载和多重继承等高级概念,并且以python特有的简洁语法和类型为背景,oop(Object Oriented Programming)十分易于使用。学习python比学习其他oop语言要容易得多。

免费

        python的使用和分发是完全免费的。可以不受限制的复制python,或嵌入自己的系统或者产品发布。甚至可以销售他的源代码。

可移植

        python的标准实现是由可移植的ANSIC(osic又称为标准c)编写,可以再目前所有主流平台上编译和运行。除了语言解释器本身以外,python发行时自带的标准库和模块在实现上也都尽可能地考虑到了跨平台的移植性。此外,python程序自动编译成可移植的字节码,这些字节码在已经安装兼容版本python的平台上运行结果都是相同的。这意味着python程序的核心语言可以在Linux、Windows和其他带有python解释器的平台无差别地运行。

可混合

        python程序可以以多种方式轻易地与其他语言编写的组件粘接在一起。python的c语言api可以帮助python灵活地调用c程序。

相对简单

同其他语言相比,python编程对大多数用户来讲出奇得简单。

(五)python解释器

        当python包安装在机器上后,它会生成一些组件:至少包括一个解释器和一套支持库。根据使用情况的不同,python解释器可以用c程序实现,或者一些java类实现,或者其他的形式。无论采用何种形式,编写的python代码必须在解释器中运行,当你编写了一段python程序,python解释器将读取程序,并按照其中的命令执行,得出结果。实际上,解释器是代码和机器的计算机硬件之间的软件逻辑层。可以理解为电脑和程序员之间的翻译官。

(六)字节码编译

       当python运行脚本时,在代码开始进行处理之前,python还会执行一些步骤。确切地说,第一步是编译成所谓的字节码,之后将其转发到所谓的虚拟机中。

        执行程序时,python内部会先将源代码编译成所谓字节码的形式。编译是一个简单的翻译不走,字节码是一种低级的、与平台无关的表现形式。概括来说,python通过把你的每一条源语句分解为单一步骤来翻译成一组字节码指令。这些字节码可以提高执行速度。比起文本文件中的原始的源代码语句,字节码的运行速度要快得多。

        上一段所提到的过程对于使用者几乎是完全隐藏起来的。在python3.2之前的版本中,会在源代码的同一目录下看见这些名为.pyc的字节码文件,而在python3.2以及之后的版本,python将其存储于_pycache_的子目录中。python这样保存字节码是作为对启动速度的一种优化,在上次编译后没有再改动后,再次运行会跳过编译,直接加载.pyc文件。

(七)python虚拟机(PVM)

        一旦程序编译成字节码,之后的字节码发送到通常称为python虚拟机的程序上来执行。实际上他不是一个独立的程序,不需要安装。本质上,pvm就是迭代运行字节码指令的一个大循环,一个接一个地完成操作。

        pvm循环仍需要解释字节码,并且字节码指令比cpu指令需要更多的工作。而由于python并不需要反复地重新分析和重新分解每一行源代码语句的文本。最终的效果就是纯python代码的运行速度介于传统的编译语言和传统的解释语言之间。

(八)python交互式命令行

        安装Python解释器时,勾选设置系统PATH后,便可以在cmd窗口输入python将Python的交互式命令行调出,出现>>>说明以及进入python的交互式命令行,交互提示模式下不会把代码保存到文件中,可以用来体验语言以及轻松的测试程序。而且交互解释器会自动打印表达式结果,不需使用print,不需要缩进。

         如果找不到python的按照路径可以在命令提示符中输入where python,就能找到所有安装过的python。

(九)python的IDLE和其他IDE

IDLE

        在下载python的时候还会附带一个编辑器IDLE(Integrated Development and Learning Environment,集成开发和学习环境),在开始菜单所有程序的Python里能看到一个idle(python GUI)的东西,当安装好python以后,IDLE就自动安装好了,不需要另外去找;基本功能有语法加亮、段落缩进、基本文本编辑、TABLE键控制、调试程序。

其他IDE

        Python 的学习过程少不了其他好用的 IDE(集成的开发编辑器)例如 PyCharm、VSCode、Sublime Text等等(我个人是比较喜欢用VSCode的)。

 (十)模块

        什么是模块呢?用简单的术语来讲,每一个以扩展名.py结尾的python源代码文件都是一个模块。模块的模型是python程序架构背后的一个核心思想。更大的程序往往以多个模块文件的形式出现,并且从其他模块文件导入工具。其中的一个模块文件指定为主文件或者顶层文件或者脚本。

        导入操作从本质上来讲就是载入另一个文件,并且给与读取那个文件的权限一个模块的内容通过其属性从而被外部世界使用。

        导入操作使用关键字import来进行,文件名不需要加上.py。

import xxxx(文件名)
import math

        导入是一个开销很大的操作,以至于每个文件、每个程序不能重复导入多余一次。在第一次导入后,其他导入都不会在工作。若需要再次导入必须使用重载操作。(导入和重载的知识会在之后的文章里提到)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值