首页 > 技术文章 > 变量与垃圾回收机制

panda-xin 2021-11-02 20:16 原文

变量&数据类型与垃圾回收机制

1.变量

  1.1 什么是变量

    即变换的量,用来记录事物的某种状态。所以说,程序执行的本质就是一系列状态的变化,变是程序执行的直接体现,所以我们

需要有一种机制能够反映或者说是保存下来程序执行时状态,以及状态的变化。

  

 

 

 

  1.2 如何使用变量

 1 eg:
 2     日常生活中:
 3         姓名:panda 
 4         年龄:18
 5         爱好:女孩
 6 
 7      程序中:
 8         username = 'panda'
 9         age = 18
10         hobby = 'girl'

  1.3 底层原理(必会!!!)

    遇到赋值符号先看符号右边的,再看左边的

          age = 18

    1.在内存空间中申请一块内存空间存储18

    2.将18所在的内存空间地址绑定给变量名age

    3.之后如果要访问18就通过变量名age访问即可

  1.4 变量名的命名规范

    1、变量名只能由数字、字母、下划线的任意组合

    2、变量名不能以数字开头,下划线建议不要用作开头因为有特殊含义

    3、关键字不能用作与变量名。

        常用关键字如下:    

1 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif'
2 'else', 'except', 'exec', 'finally', 'for', 'from','global', 'if'
3 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise'
4 'return', 'try', 'while', 'with', 'yield']

    4、变量名的命名一定要见名知意(重要)例如我的名字是18岁,就age = 18.

    5、强烈建议不要使用拼音和汉字来作为变量名

    

 

  1.5 变量的三要素

     1、变量的值

     2、变量的内存地址

     3、变量的数据类型

     

 

2.常量(简单了解)

 

   2.1 什么是常量

    常量是指在程序运行过程中不会改变的量

  2.2为什么要有常量

    在程序运行过程中,有些值是固定、不应该被改变的。比如圆周率

  2.3怎么使用常量

    在python中没有一个专门的语法来定义常量,约定俗成是用全部大写的变量名表示常量。所有但从语法层面去讲,常量的使用和变量是完全一致的

    

 


3.Python语言的底层优化

   当值数据很小的时候,如果有多个变量名需要使用,那么会指向同一地址。

   一个变量名只能指向一个内存地址,一个内存地址可以有多个变量。

  

 

4.PyCharm的垃圾回收机制(浅谈)

           

   4.1 什么是垃圾回收机制

    垃圾回收机制(简称GC)是python解释器自带的一种机制,专门用来回收不可用的变量值所占用的内存空间。

  

 

 

   4.2 为什么要使用垃圾回收机制

    程序运城过程中会申请大量的内存空间,而对于一些无用的内存空间如果不及时清理的话会导致内存溢出,导致

  程序崩溃。python解释器自带的垃圾回收机制就把程序员从繁琐的内存管理中解放出来。

  

   4.3 垃圾回收机制的原理

    三个步骤:

      ①:引用计数

        内存中变量值身上有几个变量名绑定,引用计数就是几,只要不为0就不是垃圾。

      ②:标记清除

        当内存即将占满的时候,python会自动暂停程序的执行,从头到尾将内存中数据进行扫描;并打上标记,

      之后一次性清除掉标记的数据。

      ③:分代回收

             会将数据的监管分为三个层次,随着层级的下降监督频率降低

        

 

    例如老师检查作业,刚开始每个学生的作业都做检查,检查一段时间之后将学生分为差等生、中等生以及优等

        生。之后差等生作业检查频率为一天一次,中等生为两天一次,优等生为三天一次。这样的顺序进行循环。

 

 

      

 

推荐阅读