Python语法—变量与常量
Python语法—变量与常量
第一章、变量
1、什么是变量
变量就是可以变化的量,用于记录事物的某种状态(模仿人类事物记忆能力),比如人的年龄、性别,游戏角色的等级、金钱等等
变量存储在内存中的值,这就意味着在创建变量时会在内存中开辟一个空间。基于变量的数据类型,python解释器会分配指定内存,并决定什么数据可以被存储在内存中。因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。
2、变量的作用
# 为了让计算机能够像人一样去记忆事物的某种状态,并且状态是可以发生变化的,程序执行的本质就是一系列状态的变化,变是程序执行的直接体现,所以我们需要有一种机制能够反映或者说是保存下来程序执行时状态,以及状态的变化。
3、变量赋值
Python中的变量赋值不需要类型声明:
每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。
每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
"""
语法格式:
username = 'xcz'
变量名 赋值符号 变量值
底层原理:
遇到赋值符号先看符号右边的再看左边的
age = 18
1.在内存空间中申请一块内存空间存储18
2.将18所在的内存空间地址绑定给变量名age
3.之后如果要访问18就通过变量名age访问即可
"""
例如:
couter = 100 # 赋值整数变量
miles = 1000.0 # 浮点型
name = "xcz" # 字符串类型
print(counter, miles, name)
以上实例中,100,1000.0和"xcz"分别赋值给counter,miles,name变量。
执行以上程序会输出如下结果:
100 1000.0 xcz
# 多个变量赋值
Python允许你同时为多个变量赋值。例如:
a = b = c = 1
print(a, b, c)
执行以上程序会输出如下结果:
1 1 1
以上实例,创建一个整型对象,值为1,三个变量被分配到相同的内存空间上。
也可以为多个对象指定多个变量。例如:
a, b, c = 1, 2, "xcz"
print(a, b, c)
以上实例,两个整型对象 1 和 2 分别分配给变量 a 和 b,字符串对象 "xcz" 分配给变量 c。
执行以上程序会输出如下结果:
1 2 xcz
4、变量三要素
1.变量的值
2.变量的内存地址
3.变量的数据类型
name = "xcz"
print(id(name)) # 一串数字,相当于内存地址的编号
print(type(name)) # 数据类型
print(name) # 变量的值
5、命名规范与风格
# 命名规范
1.变量名只能由数字、字母、下划线任意组合
user@name(不对)、_(可以)、pwd_123_aaa(可以)
2.变量名不能以数字开头,下划线建议不要开头因为有特殊含义
3.变量名不能与关键字冲突
4.变量名的命名一定要做到见名知意(重要)
'''变量名见名知意是核心 无论变量多长'''
# 命名风格
1.驼峰体
大驼峰 # 所有单词首字母大写
UserNameFromDb
小驼峰 # 第一首字母小写其余首字母大写
userNameFromDB
"""JavaScript推荐使用驼峰体"""
2.下划线 # 单词与单词之间下划线隔开
user_name_from_db
"""python推荐使用下划线"""
6、垃圾回收机制
# 垃圾数据的定义
在内存中没有任何变量名指向的数据
# 针对垃圾数据python开发了一套自动化回收方案
1.引用计数:
内存中变量值身上有几个变量名绑定引用计数就是几,只要不为0就不是垃圾
2.标记清除:
当内存即将沾满的时候 python会自动暂停程序的执行 从头到尾将内存中数据进行扫描
并打上标记 之后一次性清除掉标记的数据
3.分代回收:
会将数据的监管分为三个层次 随着层级的下降监督的频率降低
PS:python底层优化
当值数据量很小的时候 如果有多个变量名需要使用 那么会指向同一块地址
"""
一个变量名只能指向一个内存地址
一个内存地址可以有多个变量名指向
"""
第二章、常量
主要用于记录一些不变的状态
在python中没有真正意义上的常量 我们墨守成规的将全大写的变量看成是常量
HOST = '127.0.0.1' # 一般情况下在配置文件中使用较多
在其他编程语言中是存在真正意义上的常量 定义了就无法修改
const pi = 3.14 # 定义常量
pi = 4 # 不支持修改