一、什么是变量?


变量就是可以变化的量,量指的是事物的状态,比如人的年龄、性别,游戏角色的等级、金钱等等


二、为什么要有变量?

为了让计算机能够像人一样去记忆事物的某种状态,并且状态是可以发生变化的

详细地说:

程序执行的本质就是一系列状态的变化,变是程序执行的直接体现,所以我们需要有一种机制能够反映或者说是保存下来程


三、如何用变量

'''

1、变量基本使用

原则:先定义,后引用

name = 'egon'  # 定义-》存

print(name)  # 引用-》取


age = 18

print(age)


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、变量有三大组成部分

I:变量名=》是指向等号右侧值的内存地址的,用来访问等号右侧的值

II:赋值符号:将变量值的内存地址绑定给变量名

III:变量值:代表记录的事物的状态


4、变量名的命名的规则

原则:变量名的命名应该见名知意

4.1. 变量名只能是 字母、数字或下划线的任意组合

4.2. 变量名的第一个字符不能是数字

4.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']

age=18

print='egon'


ps:不要用拼音,不要用中文,在见名知意的前提下尽可能短

mingzi='egon'

名字='egon'

print(名字)


5、变量名的命名风格

5.1 纯小写加下划线的方式(在python中,关于变量名的命名推荐使用这种方式)

age_of_alex = 73

print(age_of_alex)

5.2 驼峰体

AgeOfAlex = 73

 print(AgeOfAlex)


6、变量值三个重要的特征

name='egon'

id:反映的是变量值的内存地址,内存地址不同id则不同

print(id(name))

type:不同类型的值用来表示记录不同的状态

print(type(name))

value:值本身

print(name)


6.2 is与==

is:比较左右两个值身份id是否相等

==:比较左右两个值他们的值是否相等

'''

值相等,id可能不同,即两块不同的内存空间里可以存相同的值

>>>  
>>> 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)

'''


7、常量:不变的量

注意:python语法中没有常量的概念,但是在程序的开发过程中会涉及到常量的概念


AGE_OF_ALEX = 73  # 小写字母全为大写代表常量,这只是一种约定、规范

AGE_OF_ALEX = 74

print(AGE_OF_ALEX)