3、Python语法入门之变量
3、Python语法入门之变量
引入
我们学习python语言是为了控制计算机、让计算机能够像人一样去工作,所以在python这门语言中,所有语法存在的意义都是为了让计算机具备人的某一项技能,这句话是我们理解后续所有python语法的根本。
一、什么是变量?
# 变量就是可以变化的量,量指的是事物的状态,比如人的年龄、性别,游戏角色的等级、金钱等等
二、为什么要有变量?
# 为了让计算机能够像人一样去记忆事物的某种状态,并且状态是可以发生变化的
# 详细地说:
# 程序执行的本质就是一系列状态的变化,变是程序执行的直接体现,所以我们需要有一种机制能够反映或者说是保存下来程序执行时状态,以及状态的变化。
三、怎么使用变量(先定义、后使用)
3.1、变量的定义与使用
变量的定义由三部分组成,如下图

定义变量示范如下
name = 'Jason' # 记下人的名字为'Jason'
sex = '男' # 记下人的性别为男性
age = 18 # 记下人的年龄为18岁
salary = 30000.1 # 记下人的薪资为30000.1元
解释器执行到变量定义的代码时会申请内存空间存放变量值,然后将变量值的内存地址绑定给变量名,以变量的定义age=18为例,如下图
插图:定义变量申请内存
通过变量名即可引用到对应的值
# 通过变量名即可引用到值,我们可以结合print()功能将其打印出来
print(age) # 通过变量名age找到值18,然后执行print(18),输出:18
# 2、内存管理:垃圾回收机制
# 垃圾:当一个变量值被绑定的变量名的个数为0时,该变量值无法被访问到,称之为垃圾
# 引用计数增加
x = 10 # 10的引用计数为1
y = x # 10的引用计数为2
z = x # 10的引用计数为3
# 引用计数减少
del x # 解除变量名x与值10的绑定关系,10的引用计数变为2
# print(y)
del y # 10的引用计数变为1
# print(z)
z = 12345 # # 10的引用计数变为0
# print(z)
3.2、变量名的命名规范
变量名的命名应该见名知意
# 如果我们要存储的数据18代表的是一个人的年龄,那么变量名推荐命名为age
age = 18
# 如果我们要存储的数据18代表的是一个人的等级,那么变量名推荐命名为level
level = 18
其他详细规范如下
# 命名规范
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']
# 错误示范如下:
*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、变量值的三大特性
变量的值具备三大特性
# 6、变量值三个重要的特征
# name='egon'
# id:反映的是变量值的内存地址,内存地址不同id则不同
# print(id(name))
# type:变量值的类型,不同类型的值用来表示记录不同的状态
# print(type(name))
# value:变量值本身
# print(name)
查看变量值三大特性的方式如下,我们将会在运算符中用到变量值的三大特性
>>> x='Info Tony:18'
>>> id(x),type(x),x
4376607152,<class 'str'>,'Info Tony:18'
# 6.2 is与==
# is:比较左右两个值身份id是否相等
# ==:比较左右两个值他们的值是否相等
'''
id不同的情况下,值有可能相同,即两块不同的内存空间里可以存相同的值
id相同的情况下,值一定相同,x is y成立,x == y也必然成立
>>>
>>> x='info:Egon:18'
>>> y='info:Egon:18'
>>> print(x,y)
info:Egon:18 info:Egon:18
>>> print(id(x),id(y))
4565819264 4566192176
>>>
>>>
>>>
>>> x == y
True
>>> x is y
False
'''
# 了解:小整数池[-5,256]
# 从python解释器启动那一刻开始,就会在内存中事先申请
# 好一系列内存空间存放好常用的整数
'''
>>> m=10
>>> n=10
>>> id(m)
4562619328
>>> id(n)
4562619328
>>>
>>> res=4+6
>>> res
10
>>> id(res)
4562619328
'''
'''
>>> x=-5
>>> y=-5
>>> x is y
True
>>> x=-6
>>> y=-6
>>> x is y
False
'''
'''
>>> x='aaa'
>>> y='aaa'
>>>
>>>
>>> id(x)
4566200880
>>> id(y)
4566200880
'''
'''
x=-6
y=-6
print(id(x))
print(id(y))
print(x is y)
'''
三、常量
3.1、什么是常量?
常量指在程序运行过程中不会改变的量
3.2、为什么要有常量?
在程序运行过程中,有些值是固定的、不应该被改变,比如圆周率 3.141592653...
3.3、怎么使用常量?
在Python中没有一个专门的语法定义常量,约定俗成是用全部大写的变量名表示常量。如:PI=3.14159。所以单从语法层面去讲,常量的使用与变量完全一致。
AGE_OF_ALEX = 73 # 小写字母全为大写代表常量,这只是一种约定、规范
AGE_OF_ALEX = 74
print(AGE_OF_ALEX)
浙公网安备 33010602011771号