1、变量的定义
变量:其实就是我们生活中起的别名和外号,让变量名指向某个值,格式为:【变量名 = 值】,在python中,每个变量在使用之前都必须赋值,变量只有在赋值之后才会被创建。
name = "张三" age = 12
2、变量的命名
Python中的变量名不是随便定义的,关于变量名的定义需要遵循如下规范:
1.三条规范(必须遵循,否则定义变量会报错)
-
变量名只能由 字母、数字、下划线 组成
-
变量名不能以数字开头
-
变量名不能是Python内置关键字,如:class,def,for,not,or...
2.两条建议
-
下划线命名法,多个单词表示的变量名用下划线连接(均小写)
-
见名知意,通过阅读变量名就能知道此变量的含义
3、内存指向
Python 的变量名其实是内存地址的“别名”(reference)也就是数据存储的内存起始地址,如下图:
# 在计算机的内存中创建一块区域保存字符串"Liming",name变量名则指向这块区域 name = "Liming" age = 12 print(hex(id(name))) print(hex(id(age)))
情景一:两个变量同时指向一个内存地址的情况,如下图所示:
情景二:在计算机的内存中创建一块区域保存字符串”Liming”,name变量名则指向这块区域。然后又在内存中创建了一块域保存字符串”Lisi”,name变量名则指向”Lisi”所在的区域,不再指向”Liming”所在区域(无人指向的数据会被标记为垃圾,由解释器自动化回收)
name = "Liming" name = "Lisi" print(name)
情景三:在计算机的内存中创建一块区域保存字符串”Liming”,name变量名则指向这块区域(灰色线), 然后new_name指向name所指向的内存区域,最后又创建了一块区域存放”Lisi”,让name变量指向”Lisi”所在区域。
name = "Liming" new_name = name name = "Lisi" pring(neme) pring(new_name)
情景四:在计算机的内存中创建一块区域保存整型12,age变量名则指向这块区域。通过类型转换依据整型12再在内存中创建一个字符串”12”, new_age变量指向保存这个字符串的内存区域。
age = 12
new_age = str(age)