学习视频地址https://www.bilibili.com/video/BV1QE41147hU?p=593

# 1、变量基本使用
# 原则:先定义,后引用
# name = 'egon'  # 定义
# print(name)  # 引用
# ctrl + ?快速注释 ctrl + d快速复制

# 2、内存管理:垃圾回收机制
# 垃圾:当一个变量值被绑定的变量名的个数为0时,该变量值无法被访问到,称之为垃圾
# 引用计数增加
x = 10  # 10的引用计数为1
y = x  # 10的引用计数为2
z = x  # 10的引用计数为3
# 引用计数减少
del x  # 解除变量名x与10的绑定关系,10的引用计数变为2
# print(x)会报错
del y  # 解除变量名x与10的绑定关系,10的引用计数变为1
# print(y)会报错
print(z)
z = 12345  # 解除变量名x与10的绑定关系,10的引用计数变为0

# 3、变量有着三大组成部分
# I:变量名 =》 是指向等号右侧值得内存地址的,用来访问等号右侧的值
# II:赋值符号:将变量值的内存地址绑定给变量名
# III:变量值:代表记录的事务的状态

# 4、变量名
# 原则:变量名的命名应该见名知意,并且尽可能短
# a:由字母数字下划线组成
# b:变量名开头不能是数字
# c:关键字不能为变量名,中文命名和拼音也不能使用

# 5、变量名的命名风格
# 5.1 纯小写加下划线的方式(在python中,关于变量名的命名推荐使用这种方式)
age_of_me = 18
# 5.2 驼峰体
AgeOfAlex = 18

# 6、变量值三个重要的特征
# id:反应的是变量值的内存地址,内存地址不同id则不同
name = 'Alen'
print(id(name))
# type:不同类型的值来表示记录不同的状态
print(type(name))
# value:值本身11
print(name)

# 6.2 is与==
x = 'info:Egon:18'
y = 'info:Egon:18'
print(x, y)
print(id(x), id(y))
# 值相等,id可能不同,即两块不同的内存空间里可以存相同的值
# id相同的情况下,值一定相同

# is: 比较左右两个值id是否相等

# ==:比较左右两个值他们的值是否相等

# 了解:小整数池[-5,256]
# 从python解释器启动那一刻开始,就会在内存中事先申请
# 整数系列内存空间存放好常用的整数

# 7、常量:不变的量
# 注意:python语法中没有常量的概念,但是在程序的开发过程中会涉及到常量的概念
AGE_OF_ALEX = 73  # 小写字母全为大写代表常量,这只是一种约定、规范