变量

1 变量

1.1 三问

1.1.1 什么是变量

量指的是事物的状态
变事物的状态是可以改变
变量就是一种存取内存的机制

1.1.2 为何要用变量

为了控制计算机能够像人一样记住事物的状态
并且状态是可以改变的

1.1.3 如何用变量

原则:先定义,后引用
定义:变量名 = 变量值
引用:变量名

1.2 变量的基本使用

先定义、后引用

1
2
3
4
5
6
print(x)
name = "egon"
age = 18
print(name)

print("hell")

1.3 变量的三大组成部分

name = “egon”
(1) 变量名:指向变量值的内存地址,用来访问值的
(2)赋值符号:用来把值的内存地址绑定给变量名
(3)变量值:记录的事物的状态,也就是我们存到内存中的数据

1.4 变量名详解

1.4.1 左值与右值

1
2
3
4
5
x = 18  # 变量名出现在等号左边,称之为左值,此时的变量名是一种存值行为

print(x) # 只要不在等号左边,就称之为右值,此时的变量名是一种取值行为
x = x + 1
print(x)

1.4.2 变量名的命名

  • 大前提:见名知意
  • 规范
  1. 变量名只能是 字母、数字或下划线的任意组合
  2. 变量名的第一个字符不能是数字
  3. 关键字不能声明为变量名[‘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’]
    1
    2
    3
    4
    5
    6
    7
    level=18
    print=333
    print('hello')

    _name="egon"
    _="egon"
    print(_)
  • 命令风格
    1、驼峰体
    AgeOfEgon = 18
    2、纯小写+下划线(推荐)
    age_of_egon = 18

    1.4.3 变量值

  • 两大特征:id、type

    1
    2
    3
    4
    5
    6
    7
    name="egon"
    age=18
    print(id(name))
    print(id(age))

    print(type(name))
    print(type(age))
  • 内存管理机制之垃圾回收机制GC

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    引用计数
    x = 10 # 10引用计数为1
    y = x # 10引用计数为2

    x = 20 # 10的引用计数为1
    del y # 10的引用计数为0
    分代回收
    优点:降低扫描数数量,提升效率
    缺点: 有个别数据无法得到及时的处理

    循环引用导致的内存泄漏问题???-》标记/清除

    - 内存管理机制之小整数池