变量是用于存储计算机产生临时数据的一段内存。缺少了变量,那么计算机将无法实现一些复杂任务。
当创建变量的时候,计算机将根据不同的数据类型,再按照规范,存储在内存中。
所以作为一个变量它至少具备两个属性:
- 内存地址:创建变量之后,你总得知道它在那个位置,你才能访问,对吧。
同时,计算机的所有内存操作都是基于内存地址实现的。 - 数据类型:只有使用正确的数据类型,才能进行计算和逻辑判断。
在Python中变量可以直接创建,而无需声明变量类型。后续再修改变量时也无需注意变量的类型,应为这些操作都已经由Python帮你完成了。
注:但是在使用变量的时候还是需要注意,Python还是区分变量类型的。
例如:输入'1'+2
,那么Python将会直接报错TypeError
类型错误。
变量声明方法:
variable1 = 123
这样,就生成了一个int类型的变量。
这里可以通过type()
函数来判断变量的类别,同时可以使用id()
函数来获取变量的内存地址。
type(variable1)
id(variable1)
<class 'int'>
140716245857888
从这里的返回就可以看到,variable1这个变量的数据类型就是int(整形),同时还返回变量的内存地址。
注:由于Python有多个语言实现的版本,例如 当然不看这个也没关系,因为这一点也不影响使用python。Cpython
、Jpython
等,所以在官方的帮助手册中,id函数中解释的是返回对象的“标识值”
,但是在下面我们还可以看到一句话,Cpython中,返回的是对象的内存地址
。这里首先我们需要了解到常用的Python都是基于C语言实现的,也就是Cpython
,所以实际上,这里id()函数返回值还是内存地址。
变量名称有几点要求:
- 变量名称只能使用字母、数字或者下划线
_
作为变量名称 - 变量名称开头不能使用数字
- 新版的python支持使用unicode作为变量名称,所以实际上,变量名称可以使用中文代替,但是不推荐这种用法。
- 在对象(class)中,下划线开头的变量都属于私有变量。
数据类型
python支持多种变量类型:
- 整型(int)
var = 123 # 使用十进制声明变量
var = 0x12 # 使用十六进制声明变量
注:在C语言中需要注意整型的数值范围,不能超出这个限制,否则将溢出。但是Python就没有这种问题了,因为这些问题都将有Python自己处理。
小tip:同时,由于-5~256为常用数值,Python为了提升速度,这些数会以常量的形式存储在内存中,可以使用id()函数查看,他们在内存地址中固定的。
- 浮点型(float)
var = 0.01 # 使用小数点声明
var = 2.3e5 # 使用科学计数法声明
- Bool型(True, False):内置变量类型,无需声明即可使用。
- 复数(complex):用于科学计算,不常用。
var = 123-12j
注:其中123为实数部分,-12虚数部分。
- 字符串(str)
var = "string" # 声明字符串
- 列表(list):与C语言数组相似,不过列表可以包含不同类型的变量
var = [1, "string"]
- 元组(tuple):与列表相同,但是声明的变量不能修改
var = (4, "string")
- 字典(dict):以Key-Values键值对的形式存储数据
var = {
"name": "somata",
"age": 18,
1: 29
}
注:由于Key具有索引的功能,所以在创建变量的时候,如果key是重复的,后面的的值将覆盖前面的值。
注:列表、元组和字典这几个变量是可以嵌套使用的。
例如:
var = {
"name": ["somata", "mago"],
"age": [18, 53]
}
销毁变量:
del var
注:由于函数的性质,当一个函数执行完成时,在其内部创建的变量将自动删除,所使用的内存将自动回收,所以无需手动销毁变量。所以del 指令通常在交互式中用到的较多。
本文经「原本」原创认证,作者乾坤盘,访问yuanben.io查询【11B3GT7V】获取授权信息。