day04学习笔记-变量

一、什么是变量?

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

二、为什么要有变量?
为了让计算机能够像人一样去记忆事物的某种状态,并且状态是可以发生变化的
让计算机能够像人一样,替代人去做一些事情,所以才有这个变量,像人一样记录变化的事情
详细地说:
程序执行的本质就是一系列状态的变化,变是程序执行的直接体现,所以我们需要有一种机制能够反映或者说是保存下来

三、如何用变量

1、变量基本使用
原则:先定义,后引用
name = 'egon' # 定义-》存
print(name) # 引用-》取

age = 18
print(age)

2、内存管理:垃圾回收机制
垃圾:当一个变量值被绑定的变量名的个数为0时,该变量值无法被访问到,则称之为垃圾
引用计数增加
x = 10 # 10的引用计数为1
y = x # 10的引用计数为2
z = x # 10的引用计数为3
这时候的 x,y,z的值的结果均为10

引用计数减少
del x # 解除变量名x与值10的绑定关系,10的引用计数变为2
这里del不是删除,是解绑,不要搞错!

print(y)
上面只解绑了x ,跟y没有关系,所以结果依旧是 10

del y # 10的引用计数变为1
print(z)

上面只解绑了y ,跟z没有关系,所以结果依旧是 10

z = 12345 # # 10的引用计数变为0
print(z)
重新赋值了,所以结果是12345

3、变量有三大组成部分
I :变量名 -->是指等号右侧值的内存地址的,用来访问等号右侧的值
II :赋值符号 -->将变量值的内存地址绑定给变量名
III:变量值 -->代表记录的事物的状态

4、变量名的命名的规则
原则:变量名的命名应该见名知意,设置的要有意义
4.1. 变量名只能是 字母、数字或下划线的任意组合 abc,123,_
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'
结果 18

ps:不要用拼音,不要用中文,最好使用英文单词,在见名知意的前提下尽可能短
mingzi='egon'
名字='egon'
print(名字)
中文虽然能够使用,但是尽量避免使用,太low

5、变量名的命名风格
5.1 纯小写加下划线的方式(在python中,关于变量名的命名推荐使用这种方式)
age_of_alex = 73
print(age_of_alex)
5.2 驼峰体
AgeOfAlex = 73
print(AgeOfAlex)

6、变量值三个重要的特征
6.1 三个特征
name='egon'
id:反映的是变量值的内存地址,内存地址不同id则不同
print(id(name))
type:不同类型的值用来表示记录不同的状态
print(type(name))
value:值本身
print(name)
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
6.3小整数池[-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)


原文地址:https://www.cnblogs.com/xiao-zang/p/12410313.html