zoukankan      html  css  js  c++  java
  • python定义,变量及垃圾回收机制

    今日课程内容整理:

      一,编程语言发展史

        1,机器语言   是站在奴隶角度,用二进制与计算机直接交流沟通,直接操作硬件;

          指令部份的示例
          0000 代表 加载(LOAD)
          0001 代表 存储(STORE)

          暂存器部份的示例
          0000 代表暂存器 A
          0001 代表暂存器 B

          存储器部份的示例
          000000000000 代表地址为 0 的存储器
          000000000001 代表地址为 1 的存储器
          000000010000 代表地址为 16 的存储器
          100000000000 代表地址为 2^11 的存储器


          集成示例

          0000,0000,000000010000 代表 LOAD A, 16
          0000,0001,000000000001 代表 LOAD B, 1
          0001,0001,000000010000 代表 STORE B, 16
          0001,0001,000000000001 代表 STORE B, 1[1]

        2,汇编语言 是站在奴隶角度,用英文取代二进制与计算机沟通,直接操作硬件;


          ; hello.asm
          section .data ; 数据段声明
          msg db "Hello, world!", 0xA ; 要输出的字符串
          len equ $ - msg ; 字串长度
          section .text ; 代码段声明
          global _start ; 指定入口函数
          _start: ; 在屏幕上显示一个字符串
          mov edx, len ; 参数三:字符串长度
          mov ecx, msg ; 参数二:要显示的字符串
          mov ebx, 1 ; 参数一:文件描述符(stdout)
          mov eax, 4 ; 系统调用号(sys_write)
          int 0x80 ; 调用内核功能
          ; 退出程序
          mov ebx, 0 ; 参数一:退出代码
          mov eax, 1 ; 系统调用号(sys_exit)
          int 0x80 ; 调用内核功能

     

        3,高级语言 是站在奴隶主的角度,用人类字符编写程序。(php,c,c++,java,c#,python,go)

          高级语言必须被翻译成为计算机能读懂的二进制才能被计算机执行,按照翻译方式可以分为两种:

            1.编译型 需要编译器,相当于用谷歌翻译。如C

              优点:执行速度快

              缺点:开发效率低

            2.解释型 需要解释器,相当于同声传译。如python

              优点:开发效率高

              缺点:执行速度慢

       三种语言比较:      

        机器语言
          优点是最底层,执行速度最快
          缺点是最复杂,开发效率最低

        汇编语言
          优点是比较底层,执行速度最快
          缺点是复杂,开发效率最低

        高级语言
          编译型语言执行速度快,不依赖语言环境运行,跨平台差
          解释型跨平台好,一份代码,到处使用,缺点是执行速度慢,依赖解释器运行

     

     

      二,Python定义与解释器

        1,Python定义:Python是一种解释型脚本语言, 也被称为胶水语言与调包侠。

        2,安装Python解释器。ps:不要贸然尝试用最新版本的软件。

        3,配置环境变量。

          环境变量

          系统查找文件的所有路径配置

          如果是window7系统
          D:Python27;C:a/v/v;D:t/y/u/;F:a/a/a;

          多版本共存
          不要直接该原本的python.exe文件
          拷贝一份再起别名
        
          如果是mac系统
          - vim /etc/profile
          - 输入a,i,o均可
          - PATH = /user/local/python36:$PATH
          Export PATH
          - 按esc后输入wq即可
          建议在安装的时候直接勾选

      三,运行python程序

        两种运行python程序的方式  

          1.交互式
          优点:输入内容立刻就有对应的返回结果
          缺点:无法永久保存数据

          2.命令行(文件的形式)
          优点:可以永久保存数据
          缺点:暂时来看运行该文件有点麻烦

          ps:文件后缀名
          仅仅是给人看的
          你所认为的不同的文件后缀有不同的功能那是程序员自己写的
          py文件默认的后缀名就叫.py结尾


          运行一个py文件需要走的步骤
          1.将python解释器代码从硬盘读到内存(就等价于双击了word图标)
          2.将你写好的py文件有硬盘读到内存(就等价于你双击了一个word文档)
          3.解释器解释读取py文件中的内容,解释成计算机能够识别的语句
          (如果是一个普通文本文件,仅仅只会将文件内容展示到屏幕上给用户查看,不会检测翻译文件内容)
          ps:python解释器于普通的文本编辑器前面两步是一样的,仅仅第三步不一样(一个是解释语法,一个是文本展示)

      四,变量

        1.什么是变量?    

        变:状态/特征是可以变化的

        量:衡量/记录事物的状态/特征

        

        2.为什么要有变量?
        帮助你记录保存事物的某种状态或特征

        3.变量的定义
        变量必须先定义后调用(使用),变量名不要加引号

        4.变量的三要素
        1.id():返回的是一串数字,这一串数字你可以直接理解为内存地址
        2.type():返回的是该变量对应的数据的类型
        3.value:该变量指向的内存当中数据的值

        5.小整数池()


        常量(不可变的量)
          ython里面压根没有常量
          通常将全大写的变量名看作常量(python程序员约定俗成的)

     

     

      五,垃圾回收机制
        1.引用计数:内存中的数据如果没有任何的变量名与其有绑定关系,那么会被自动回收
        2.标记清除:当内存快要被某个应用程序占满的时候,会自动触发
        3.分代回收:根据值得存活时间的不同,划为不同的等级,等级越高垃圾回收机制扫描的频率越低

     

         

     

  • 相关阅读:
    Spring ContextLoaderListener
    判断整数是否是对称数
    jstl缺包时的报错
    Spring初始化日志
    C# 网络编程之最简单浏览器实现
    Java实现 蓝桥杯 算法训练 Anagrams问题
    Java实现 蓝桥杯 算法训练 出现次数最多的整数
    Java实现 蓝桥杯 算法训练 出现次数最多的整数
    Java实现 蓝桥杯 算法训练 字串统计
    Java实现 蓝桥杯 算法训练 字串统计
  • 原文地址:https://www.cnblogs.com/wkq0220/p/11102707.html
Copyright © 2011-2022 走看看