03.变量
1. 什么是变量
变量就是可以变化的量,量指的是事物的状态,比如人的年龄、性别,游戏角色的等级、金钱等等
2. 为什么要有变量
为了让计算机能够像人一样去记忆事物的某种状态,并且状态是可以发生变化的
详细地说:
程序执行的本质就是一系列状态的变化,变是程序执行的直接体现,所以我们需要有一种机制能够反映或者说是保存下来程序执行时状态,以及状态的变化。
3. 怎么使用变量(先定义后使用)
3.1. 变量的定义与使用
变量的定义由三部分组成(变量名 赋值符 变量值)
变量名 = 值
定义变量示范如下
name = 'Jason' # 记下人的名字为'Jason'
sex = '男' # 记下人的性别为男性
age = 18 # 记下人的年龄为18岁
salary = 30000.1 # 记下人的薪资为30000.1元
解释器执行到变量定义的代码时会申请内存空间存放变量值,然后将变量值的内存地址绑定给变量名,以变量age=18为例,如下图。
# 通过变量名即可引用到值,我们可以结合print()功能将其打印出来
print(age) # 通过变量名age找到值18,然后执行print(18),输出:18
3.2. 变量名的命名规范
变量名的命名应该见名知意,如下示例:
# 如果我们要存储的数据18代表的是一个人的年龄,那么变量名推荐命名为age
age = 18
# 如果我们要存储的数据18代表的是一个人的等级,那么变量名推荐命名为level
level = 18
其他详细规范如下
#命名规范
1.变量名只能是字母、数字或下划线的任意组合
2.变量名的第一个字符不能是数字
3.关键字不能声明为变量名,常用关键字如下:
['and','as','assert','break','class','continue','del','elif','else','except', 'exec', 'finally', 'for', 'from','global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
# 错误示范如下:
*a=123
$b=456
c$=789
2_name='lili'
123='lili'
and=123
年龄=18 # 强烈建议不要使用中文命名
# 正确示范如下
age_of_jason=31
page1='首页'
_class='终极一班'
3.3. 变量名的命名风格
# 风格一:驼峰体
AgeOfTony = 56
NumberOfStudents = 80
# 风格二:纯小写下划线(在python中,变量名的命名推荐使用该风格)
age_of_tony = 56
number_of_students = 80
3.4. 变量值的三大特性
变量的值具备三大特性
#1、id
反应的是(变量值的内存地址)变量在内存中的唯一编号,内存地址不同id肯定不同
#2、type
变量值的类型
#3、value
变量值
查看变量值三大特性的方式如下,我们将会在运算符中用到变量值的三大特性
name = 'wyz'
age = 18
class_number = '软件181'
print(id(name)) #name的id为32700808
print(id(age)) #age的id为2090394656
print(type(class_number)) #class_number的类型为str
print(type(age)) #class_number的类型为int
print(name)
3.5. isinstance()函数功能说明
3.5.1. 作用
- 判断一个对象是否是一个已知类型
- 用于检测两个类型是否相同
3.5.2. isinstance()与type()的区别
type()认为子类不是一种父类,不考虑继承关系
isinstance()认为子类是一种父类类型,考虑继承关系
3.5.3. isinstance函数语法:
isinstance(object,classinfo) # object:实例对象 # 可以是直接或间接类名、基本类型或者由它们组成的元组
返回值:object和classinfo类型相同时,则返回true,否则返回false
具体实例如下:
age = 18
print(isinstance(age,int)) # True
3.6. is与==
- is:比较左右两个值身份id是否相等
- ==:比较左右两个变量值他们的值是否相等
具体事例如下:
age = 18
agey = 18
class_number = '软件181'
class_num = '软件181'
print(id(class_num)) #class_num的id为23657064
print(id(class_number)) #class_number的id为23657064
print(id(age)) #age的id为2031871008
print(id(agey)) #agey的id为2031871008
print(age is agey) #结果为true
#了解小整数池
# 从python解释器启动那一刻开始,就会在内存中实现申请好一系列内存空间存放好常用的整数(python解释器小整数池 -5~256)
4. 常量
4.1. 什么是常量
常量指在程序运行过程中不会改变的量
4.2. 为什么要有常量
在运行过程中,有些值是固定的、不应该被改变的,比如圆周率3.14159265354
4.3. 怎么使用常量
在Python中没有一个专门的语法定义常量,但在程序开发中会涉及到常量,约定俗成是用全部大写的变量名表示常量。如:PI=3.14159。所以单从语法层面去讲,常量的使用与变量完全一致。