• python入门——编程语言、何为python、解释器


     

    一、编程语言介绍

    1、机械语言:直接用二进制编程的语言,用二进制代码0和1描述的指令称为机器指令,由于计算机内部是基于二进制指令工作的,所以机器语言是直接控制计算机硬件。 

    2、汇编语言:汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。它同样需要编程者将每一步具体的操作用命令的形式写出来。汇编程序的每一句指令只能对应实际操作过程中的一个很细微的动作。

    3、高级语言(编译型、解释型号):高级语言将计算机内部的许多相关机器操作指令,合并成一条高级程序指令,并且屏蔽了具体操作细节(如内存分配、寄存器使用等),这样大大简化了程序指令,使编程者不需要专业知识就可以进行编程。高级程序语言便于人们阅读、修改和调试,而不利于计算机的运行。如今按照高级语言分成了两种型号即编译型和解释型。

       3.1编译型(c语言):类似谷歌翻译,是把程序所有代码编译成计算机能识别的二进制指令,之后操作系统会拿着编译好的指令直接操作硬件。

        优点:编译一次之后就可以拿着结果重复运行,而无需再次翻译,执行效率高于解释型。

    缺点:编译型代码是针对某一个平台翻译的,当前平台翻译的结果无法拿到另外一个平台使用,即无法跨平台。

      3.2解释型(python):类似同声翻译,需要有一个解释器,解释器会读取程序代码,一边翻译一边执行。

        优点: 代码运行是依赖于解释器,不同平台有对应版本的解释器,所以代码是可以跨平台运行。

    缺点: 每次执行都需要翻译,执行效率低于编译型。

    4、语言之间的优缺点:

      执行效率:机器语言>汇编语言>高级语言(编译型>解释型)

      开发效率:机器语言<汇编语言<高级语言(编译型<解释型)

      跨平台性:解释型具有极强的跨平台型

    二、python介绍

    python语言:Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。
    python解释器:专门用来识别python这门语言的语法并解释执行的

    三、解释器多版本共存

    python分为 2.x 和 3.x 两大主流版本,因3.x语法有些许改变,导致旧的python 2.x项目运行报错,官方最终出了个2.7.16版本来维持旧项目的运行,并不再提供 2.x 版本的更新

    四、运行python程序的两种方式

    1、交互式:即时得到程序的运行结果,多用于调试

      优点:输入命令立刻就有对应的返回结果,反馈性比较好

      缺点:无法永久保存数据,终端/命令行已关闭就没了


    2、脚本的方式:把程序写到文件里(约定俗称文件名后缀为.py),然后用python解释器解释执行其中的内容

    python3.8 python程序文件的路径

      优点:理论上可以永久保存数据

      缺点:运行文件有点麻烦(python 文件路径及文件名)


    五、一个python应用程序的运行的三个步骤

    python3.8 C:ac.py 执行python程序经历三个步骤
    1、先启动python3.8解释器,此时相当于启动了一个文本编辑器
    2、解释器会发送系统调用,把c.py的内容从硬盘读入内存,此时c.py中的内容
    全部为普通字符,没有任何语法意义
    3、解释器开始解释执行刚刚读入内存的c.py的代码,开始识别python语法

    对比文本编辑器读取C:ac.py文件内容也经历了三个步骤
    1、先启动文本编辑器
    2、文本编辑器会发送系统调用,把c.py的内容从硬盘读入内存
    3、文本编辑会将刚刚读入内存的内容控制输出到屏幕上,让用户看到结果


    总结:
    二者在前两个阶段做的事情完全一致
    唯一不同的就是第三个阶段对读入内存的python代码的处理方式不同

    六、注释

    1、注释是对关键代码的解释说明
    单行注释:#
    # 这是一行xxx的代码
    print("hello") # 这是一行xxx的代码

    多行注释:'''''' """"""
    """
    笔记
    """
    2、被注释的代码不会被执行

           

  • 相关阅读:
    docker安装kibana
    docker 安装elasticsearch
    redis常用命令
    判断CheckBox,select是否被选中
    里面的div怎么撑开外面的div,让高度自适应
    超链接,表单jquery提交方式
    SSM框架的sql中参数注入(#和$的区别)
    springmvc接收值的方式
    mysql语法顺序
    js创建对象并赋值其属性
  • 原文地址:https://www.cnblogs.com/liuxinging/p/12404641.html
Copyright © 2020-2023  润新知