Python解释器相关初步介绍

一 编程语言介绍

  1.机器语言:

    直接能用计算机理解的二进制指令编写程序,直接控制硬件。   

  2.汇编语言:

    用英文标签取代二进制指令去编写程序。本质也是在控制硬件。
  3.高级语言:

    用人能理解的表达方式去编写程序,无需考虑硬件的操作细节
    3.1编译型

      运行前进行专门的翻译过程,把文件翻译成机器语言,运行时无需重新翻译(类似一本外语书,全部翻译成国语后,再出版给读者阅读)
    3.2解释型

      相比于编译型,无需预先翻译,以文本方式存储代码,运行时先解释后运行(类似两位不通语言的人想进行交流,有一位翻译员在旁,直接把一  方的言语,逐句翻译给另一方)
执行效率:机器语言》汇编语言》高级语言(编译型》解释型)
开发效率:机器语言《汇编语言《高级语言(编译型《解释型)
跨平台性:机器语言《汇编语言《高级语言(编译型《解释型)

二. Python解释器
  python解释器本身可以看做是一款由不同语言开发的程序,所以有不同的解释器,有各自不同的特点,但是都能对运行Python代码,并翻译。(有CPython,JPython,IPython等,在计算机命令行启动Python,就是启动Python解释器

  注:其实Python包括解释器和语法,但是很多时候所说的Python其实就是Python解释器(例如网上说的Python发展史其实就是Python解释器的发展史)。

三 .执行Python程序的两种方式
  1.交互式:即使得到命令的执行结果,通常可以用来调试代码
  2.命令行:Python 路径\文件名
    2.1 注意:后缀名并不影响程序的运行,但是约定俗称是.py结尾
    例如:.txt结尾依然可以执行程序
    2.2 运行Python的三个阶段
      2.2.1 先启动Python解释器
      2.2.2 Python解释器将文件的内容当成文本内容读入内存(此时的 Python解释器好像是一个文本编辑器)

      2.2.3 python解释器解释执行刚刚读入的内存代码 
四.变量
1.什么是变量
  量指的是记录事物的状态
  变指的是事物的状态是可以改变的
2.为什么要用变量
  为了让计算机具备人记忆事物状态的技能
3.怎么使用变量
  3.1 先定义
    定义由三大组成部分组成
      变量名:变量名应该能反映出事物的属性
      =:赋值符,把变量值绑定给变量名
      变量值:就是事物的状态
      例如:age=18(age是变量名,18就是变量值)
  3.2 后引用
    通过变量名引用值
    (变量名是访问到值的唯一方式!!!!)
  3.3 变量名的命名
    大前提:变量名应该见名知意
    3.3.1 语法规定
      1.变量名由字母、数字、下划线
      2.不能以数字开头!!!!!
      3.不能以Python的关键字命名
        [and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,not,or,pass,print,raise,return,try,while,with,yield]
    3.3.2 命名风格
        纯小写加下划线(在Python中,变量名的命名推荐使用该方式)
        例如:age_of_Mrbear=18
        驼峰体(定义类的时候推荐使用该该方式)
        AgeOfMrbear=18
  3.4 常量
      AGE_OF_MRBEAR=18
      (约定俗成全用大写,表示常量,并不像C之类的语言有变量专门表示常量,在Python中是靠每位程序员的自觉遵守的规则)
  3.5 变量值具备三种特征
      id:变量值在内存中的唯一标识(根据内存地址计算而来, 内存地址不同则id不同,内存地址相同则id相同)
      type:不同类型的值用来记录不同的状态
      值
      例如:print(id(age))#输出地址
         print(type(age))#输出类型
         print(age)#输出值
  3.6 内存管理
    3.6.1.垃圾回收机制:引用计数
      引用计数增加
        age=18 #18的引用计数为1
        x=18 #18的引用计数为2
      引用计数减少
        del age #18的引用计数为1
        x=10 #18的引用计数为0
      定期扫描后发现18的引用计数为0,则意味着18没有被使用了 ,将其内存释放
    3.6.2. 分代垃圾回收
    3.6.3. 标记清除

posted @ 2019-03-19 16:15  Mr-Bear  阅读(264)  评论(0编辑  收藏  举报