目录python
变量从字面上的意思就能够理解成:是变化的量,描述世间万物的状态。优化
对于现实世界,必定是要有一个变量来描述世间万物的。可是计算机为何也要有变量的概念呢?其实计算机中程序的运行就是一系列状态的变化,如王者荣耀中帐号等级0级到30级、废铁到王者;植物大战僵尸中僵尸打着打着就死了。spa
既然知道了变量是什么玩意,那咱们如何在python中定义变量呢?code
## 例子: name = 'mila' age = '19' height = '180' ##上面都是变量
从咱们上面的定义来看,变量能够分为如下三个部分:blog
变量名(接受变量值) = (赋值符号) 变量值内存
变量名:变量名用来引用变量值,但凡须要用变量值,都须要经过变量名。it
赋值符号:赋值class
变量值:存放数据,用来记录现实世界中的某种状态。import
# 只有变量名,赋值符号,变量值,会报错,并且毫无心义 name + = 100
name = 'mila' age = '19' height = '180' print(name) print(age) print(height) #输出: mila 19 180
变量是有必定的命名规范的必定要记住,定义一个变量其实就是在记录现实世界中的状态,而且存永远不是目的,取才是目的。变量
变量的命名应该要知足如下三个条件:
变量的命名应该能反应变量值所描述的状态。
变量名必须由字母数字下划线组合,而且变量名的第一个字符不能是数字。
关键字不能声明为变量名。
变量名都具备可读性(意思),存不是目的,取才是目的
查找关键字
import keyword print(keyword.kwlist)
==注意:能够用中文命名,可是不建议使用==
身高 = 180 print(身高) #输出: 180
AgoOfChen = 19 print(AgoOfChen)
19
age_of_chen = 19 print(age_of_chen)
19
==注意:以上俩种变量名的风格,推荐使用下划线的风格==
对于每个变量,python都提供了这三个方法分别获取变量的三个特征,其中python的内置功能的id(),内存地址不同,则id()后打印的结果不同,由于每个变量值都有其内存地址,而id()是用来反映变量值在内存中的位置,内存地址不一样则id不一样。
x = 10
print(x)#获取变量的变量值
print(id(x))#获取变量的id,能够理解成变量在内存中的地址
print(type(x))#获取变量的数据类型,下章会详细介绍数据类型
x = 10
print(x)# 获取变量的变量值
name1 = 'egon' name2 = 'chen' print(name1 == name2) # 获取变量的变量值
x = 11 y = x z = 11 print(x == y) #True
True
print(x is y)#True
True
print(x is z)#True
True
x = 257 z = 257 print(x is z) #False
Talse
从上述的打印消息能够看出:id相等的变量,值必定相等,指向的是同一个内存地址;值相等的变量,id不必定相等。
某种在第一次打印print(x is z)的时候就触发了整数池,这能够理解成python的优化机制,11的值自己不大,而且因为咱们快速的再一次使用了11,在因为申请内存空间须要计算机开销,所以python让x和z都指向同一个11,所以存不是目的,取才是目的,这样进行优化的话并不会影响程序的运行。
a = 10 b = 10 c = 10 d = 10 print(f'a:{a},b:{b},c:{c},d:{d}')#a:10,b:10,c:10,d:10 输出:a:10,b:10,c:10,d:10
a = b = c = d = 10 print(f'a:{a},b:{b},c:{c},d:{d}')#a:10,b:10,c:10,d:10 输出:a:10,b:10,c:10,d:10
#中间变量的思想 x = 100 y = 200 temp = x x = y y = temp print(f'x:{x}') #x:100 print(f'y:{y}') #y:200 输出: x:100 y:200
## 交叉赋值 x = 100 y = 200 x, y = y, x print(f'x:{x}') print(f'y:{y}') 输出: x:100 y:200