变量与垃圾回收机制

变量

  • 啥是变量呢?
    顾名思义就是会变化的量,可以用来记录事物的某种状态,相当于计算机在模仿人类的记忆能力
  • 那么问题来了,那又如何去使用这个变量呢
    在日常生活中,名字:jyc 、年龄:18 、爱好:女
    那么在程序中,name=‘jyc’ 、ega=‘18’ 、hobby=‘woman’
    在python中‘=’号是‘赋值符号’ name就是变量名,‘jyc’就是变量值
    遇到赋值符号先看符号右边的再看左边的
    image

命名规范与风格

  • 命名规范
    1、变量名只能由数字、字母、下划线任意组合
    2、变量名不能以数字开头,下划线建议不要开头因为有特殊含义
    3、变量名不能与关键字冲突
    4、变量名的命名一定要做到见名知意(重要)
  • 命名风格
    1、驼峰体
    大驼峰:所有单词首字母大写
    eg:UserNameFromDb
    小驼峰:第一首字母小写其余首字母大写
    eg:userNameFromDB
    2、下划线(单词与单词之间下划线隔开)
    eg:user_name_from_db

变量三要素

  • 变量的值
  • 变量的内存地址
  • 变量的数据类型

常量

  • 啥是常量
    主要用于记录一些不变的状态
    在python中没有真正意义上的常量 我们墨守成规的将全大写的变量看成是常量
    在其他编程语言中是存在真正意义上的常量 定义了就无法修改
    image
  • 一个变量名只能指向一个内存地址,一个内存地址可以有多个变量名指向(这不就是说可以被好多人喜欢,而你不能喜欢好多人呗,看来是要辜负万千少女了)

image

垃圾回收机制

  • 垃圾数据的定义
    在内存中没有任何变量名指向的数据(没人爱的就是垃圾)image
  • 针对垃圾数据python开发了一套自动化回收方案
    1.引用计数
    内存中变量值身上有几个变量名绑定引用计数就是几,只要不为0就不是垃圾
    2.标记清除
    当内存即将沾满的时候 python会自动暂停程序的执行 从头到尾将内存中数据进行扫描
    并打上标记 之后一次性清除掉标记的数据
    3.分代回收
    会将数据的监管分为三个层次 随着层级的下降监督的频率降低
    image
posted @ 2021-11-02 17:05  丶祈安  阅读(94)  评论(0编辑  收藏  举报