目录
- 一、变量
- 二、常量
- 三、Pytho变量内存管理
- 四、变量的三个特征
- 五、花式赋值
- 六、注释
一、变量
1.1 什么是变量
是一种会变化的量,用以描述变化的世间万物的状态
1.2 变量的组成
变量由三部分组成:
- 变量名:变量名用来引用变量值,但凡需要用变量值,都需要通过变量名。
- 赋值符号:赋值
- 变量值:存放数据,用来记录现实世界中的某种状态。
命名格式:变量名(接收变量值) =(赋值符号)变量值(数值)
1.3 变量的声明示例
既然知道了变量的组成,那么怎么去定义一个变量呢,接下来我们来看下变量命名的示例
name = ‘forever’ # 声明一个变量名为name,变量值为forever的变量
age = 18 # 声明一个变量名为age ,变量值为18的变量
1.4 变量命名规范
对于一个变量,你可以想怎么定义名字就怎么定义(只要不是数字开头就可以),但是命名不规范,查代码时两行泪,所以在命名时一定要遵守下面三个规范:
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.5 变量名的两种风格
1.5.1 驼峰体
顾名思义就是每个单词的首字母大写
AgeOfForever = 16
print(AgeOfForever)
1.5.2 下划线(推荐)
就是每个单词中间用下划线隔开
age_of_forever = 16
print(age_of_forever)
二、常量
变量是变化的量,而常量就是不变的量。python中没有使用语法强制定义常量,也就是说,python中定义常量本质上还是变量,但是为了和变量区分开来就约定俗成常量的名要全部大写
示例:
AGE = 18
NAME = ‘forever’
注意:变量一旦定义就不要再去修改它的值,不然就毫无意义。而且还容易引发出错
三、Pytho变量内存管理
3.1 变量存储位置
当我们定义一个变量的时候这个变量的值就存储在这个变量名里面了吗?其实并不是,而是存在了内存中,而变量名和变量值与内存是一个映射的关系。当我们定义一个变量的时候,就在内存中开辟一块空间用于存储这个变量的值,而变量名是方便我们去找到这个内存块中对应的变量值的。
3.2 Python垃圾回收机制
在python编写代码的过程中,当我们对一个变量进行赋值的时候,我们需要在内存中开辟一块空间用于存储这个变量中,而当我们对这个变量重新赋一个新的值的时候会使用新的值的内存,而之前的变量值因为没有变量与之对应,那么它就属于“垃圾”,python就会启用垃圾回收机制,将这个变量值进行回收,释放这块的内存。
3.3 小整数池
python为了避免因创建相同的值而重复申请内存空间所带来的效率问题,python解释器会在启动时候创建一个小整数池,范围是[-5,256],只要是这个范围内的整数可以被重复使用,而且不会被垃圾回收机制回收
四、变量的三个特征
对于每个变量,python都提供了这三个方法分别获取变量的三个特征,其中python的内置功能id(),内存地址不一样,则id()后打印的结果不一样,因为每一个变量值都有其内存地址,而id是用来反映变量值在内存中的位置,内存地址不同则id不同。
x = 10 # 定义一个变量赋值为数值型10
print(x) # 获取变量的变量值
print(id(x)) # 获取变量的id,可以理解成变量在内存中的地址
print(type(x)) #获取变量的数据类型
x = 10 # 定义一个变量赋值为数值型10
print(x) # 获取变量的变量值
print(id(x)) # 获取变量的id,可以理解成变量在内存中的地址
print(type(x)) #获取变量的数据类型
五、花式赋值
5.1 链式赋值
a = 10
b = 10
c = 10
d = 10
print(f'a:{a}, b:{b}, c:{c}, d:{d}')
a = 10
b = 10
c = 10
d = 10
print(f'a:{a}, b:{b}, c:{c}, d:{d}')
a = b = c = d = 10
print(f'a:{a}, b:{b}, c:{c}, d:{d}')
a = b = c = d = 10
print(f'a:{a}, b:{b}, c:{c}, d:{d}')
5.2 交叉赋值
x = 100
y = 200
temp = x
x = y
y = temp
print(f'x:{x}')
print(f'y:{y}')
x = 100
y = 200
temp = x
x = y
y = temp
print(f'x:{x}')
print(f'y:{y}')
x, y = y, x
print(f'x:{x}')
print(f'y:{y}')
x, y = y, x
print(f'x:{x}')
print(f'y:{y}')
六、注释
当你把变量理解透了,你就已经进入了编程的世界。随着学习的深入,用不了多久,你就可以写复杂的上千甚至上万行的代码啦,有些代码你花了很久写出来,过了些天再回去看,发现竟然看不懂了,这太正常了。 另外,你以后在工作中会发现,一个项目多是由几个甚至几十个开发人员一起做,你要调用别人写的代码,别人也要用你的,如果代码不加注释,你自己都看不懂,更别说别人了,这产会挨打的。所以为了避免这种尴尬的事情发生,一定要增加你代码的可读性。
代码注释分单行和多行注释,单行注释用#,多行注释可以用三对单/双引号,使用三引号注释可以换行。
示例:
# 单行注释(快捷键ctrl+/)
'''
三单引号注释
三单引号注释
'''
"""
三双引号多行注释
三双引号多行注释
"""
# 单行注释(快捷键ctrl+/)
'''
三单引号注释
三单引号注释
'''
"""
三双引号多行注释
三双引号多行注释
"""