第一章 变量
1. 什么是变量
变量就是可以变化的量,量指的是事物的状态,比如人的年龄、性别,游戏角色的等级、金钱等等
1
2. 变量的基本使用
原则:先定义,后引用
定义变量示范如下
name = 'Jason' # 记下人的名字为'Jason'
sex = '男' # 记下人的性别为男性
age = 18 # 记下人的年龄为18岁
salary = 30000.1 # 记下人的薪资为30000.1元
1
2
3
4
2
3
4
解释器执行到变量定义的代码时会申请内存空间存放变量值,然后将变量值的内存地址绑定给变量名。
通过变量名即可引用到对应的值
# 通过变量名即可引用到值,我们可以结合print()功能将其打印出来
print(age) # 通过变量名age找到值18,然后执行print(18),输出:18
1
2
2
3. 变量的三大组成部分
变量名 = 值
1
变量名:相当于与门牌号,指向值所存在的内存地址,是访问到值的唯一方式。
=:为赋值符号,用来将变量值的内存地址绑定给吧变量名。
值:就是我们存储的数据,反应的是事物的状态。
4. 变量的命名规范
变量名的命名应该见名知意
# 如果我们要存储的数据18代表的是一个人的年龄,那么变量名推荐命名为age
age = 18
# 如果我们要存储的数据18代表的是一个人的等级,那么变量名推荐命名为level
level = 18
1
2
3
4
2
3
4
其他详细规范如下
# 命名规范
变量名只能是 字母、数字或下划线的任意组合
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']
# 错误示范如下:
*a=123
$b=456
c$=789
2_name='lili'
123='lili'
and=123
年龄=18 # 强烈建议不要使用中文命名
# 正确示范如下
age_of_jason=31
page1='首页'
_class='终极一班'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
5. 变量名风格
# 风格一:驼峰体
AgeOfTony = 56
NumberOfStudents = 80
# 风格二:纯小写下划线(在python中,变量名的命名推荐使用该风格)
age_of_tony = 56
number_of_students = 80
1
2
3
4
5
6
2
3
4
5
6
6. 变量值的三个特征
变量的值具备三大特性
#1、id
反应的是变量在内存中的唯一编号,内存地址不同id肯定不同
#2、type
变量值的类型
#3、value
变量值
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
查看变量值三大特性的方式如下,我们将会在运算符中用到变量值的三大特性
>>> x='Info Tony:18'
>>> id(x),type(x),x
4376607152,<class 'str'>,'Info Tony:18'
1
2
3
2
3
7. is与==
is:比较左右两个变量值的身份(id)是否相等
==:比较左右两个变量的值是否相等
x = 'info: Egon: 18'
y = 'info: Egon: 18'
x == y // True
x is y // False
1
2
3
4
5
6
2
3
4
5
6
值相等的情况下,id可能不同,两块不同的内存的空间,可以存放相同的值。
8. 小整数池
范围:[-5, 256]
从python解释器启动的那一刻开始,就会在内存中事先申请好一些列的内存空间存放好常用的整数【交互模式下】
在pycharm中,每次运行是所有代码都加载都内存中,属于一个整体,所以这个时候会有一个大整数对象池,即处于一个代码块的大整数是同一个对象。我们只需要记住这是一种优化机制,至于范围到底多大,无需细究。
9. 垃圾回收机制之引用计数
10. 常量
什么是常量?
常量指在程序运行过程中不会改变的量
为什么要有常量?
在程序运行过程中,有些值是固定的、不应该被改变,比如圆周率 3.141592653...
怎么使用常量?
在Python中没有一个专门的语法定义常量,约定俗成是用全部大写的变量名表示常量。如:PI=3.14159。所以单从语法层面去讲,常量的使用与变量完全一致。