变量是什么

变量是什么

0912

学过数学方程的读者都知道:利用方程来解应用题时,常常会设置一个x来代表应用题中的某一个数。在编写代码中也类似,会定义一个x(或其他名字)来指代某个数字对应的意义,这个 x 就是作变量。在实际应用中,变量可以指代输入,也可以指代结果。一旦编好程序后,计算机就会把变量指代的具体数代入到内存里,并进行运算。

变量是编程语言中最基本的术语,用来代指计算机中存放的可变数据——如整数、小数、字符或被调用的一片内存空间。如:

Val ="hello"

上面的代码在执行时,系统中就会有一个变量叫 Val,它指向内存中存放字符串 “hello” 所在的位置,如下图所示:

图片[1]|变量是什么
图:Python变量

定义了变量之后,可以通过编写具体的逻辑对变量进行操作计算,从而实现想要的功能。

变量的规则

在实际情况中,程序需要处理不同类型的变量,所以在Python内部,变量是要分为各种类型的。比如,整型变量只可以代表整数,浮点型变量只可以代表带小数点的数字,字符型变量只可以代表字符。

编写 Python 代码过程中,定义变量与变量赋值必须在同一步完成。Python 内部会根据所赋变量的类型来创建该变量。

例如:定义整型变量 a 等于 5,可以写成 a=5。这时 Python 会在内存中创建一个类型为整型的变量 a,并让这个 a 的值为 5。在后面的代码中用到 a 就相当于用到了数值 5。

变量的本质

Python 语言可以根据赋值的语句来自动创建对应类型的变量,它是怎么实现的呢?

Python 内部使用了一个对象模型,这个对象模型用来储存变量及其对应的数据。在Python语言中,任何类型的变量都会被翻译成一个对象,这就是变量的本质。

Python内部的对象模型由3部分组成:身份、类型和值,具体意义如下:

  • 身份:用来标识对象的唯一的标识。通过调用函数id可以得到它。这个身份标识值可以被理解成该对象的内存地址。
  • 类型:用来表明对象可以存放的类型。具体的类型限制了该对象保存的内容、可以进行的操作、遵循的规则。想要查看某个对象的类型可以调用函数 type()。
  • 值:对象所存储的具体数值。

定义多个变量

实际写代码中,可以通过一条语句定义多个变量,彼此之间用逗号隔开即可。例如,在一条语句中为多个变量同时赋值,如下:
var1,var2,var3=value1,value2,value3

这时,系统会根据 value1、value2、value3 的值类型,分别定义 var1、var2、var3 三个变量,并为它们赋值。例如:

var1,var2,var3 = 2,5,3  #定义var1为2,var2为5,var3为3
print("指针:",id(var1),"类型:",type(var1),"值:",var1) #输出变量var1、var2、var3的指针、类型、值
print("指针:",id(var2),"类型:",type(var2),"值:",var2)
print("指针:",id(var3),"类型:",type(var3),"值:",var3)

这段程序运行后,输出的结果为:

指针:1650393616 类型:<class 'int'> 值:2
指针:1650393712 类型:<class 'int'> 值:5
指针:1650393648 类型:<class 'int'> 值:3

不同的 Python 版本对类型的归类略有差异,这里以 Python 3 为主。在 Python 3中,所划分的类型有六种:

  • numbers:数字。
  • string:字符串。
  • tuple:元组。
  • sets:集合。
  • dictionaries:字典。

其中,numbers 类型是一个数值类型的合集,具体又可以细分为 int(整型)、float(浮点型)、bool(布尔型)、complex(复数)等类型。同时每个类型都有其自身的特点和规则。

变量类型的帮助函数

Python 将自身所支持的变量类型定义成了一个个的类,任何类型(numbers、string、list…)都是一个类。每个类都有自己的方法和属性,通过类的方法和属性来规范该类型数值的操作。

Python中内置了两个帮助函数:

  • dir:用来查询类或者类型的所有属性,如 dir(list)。
  • help:用来查询类或者类型具体的说明文档,如 help(int)。

当您不清楚变量所属类型时,可以使用上述函数进行查看,这将对您非常有帮助。

© 版权声明
THE END
喜欢就支持一下吧
点赞2赞赏
分享
评论 抢沙发
HarryPotter的头像|艾奇编程网

昵称

取消
昵称表情