Python快速编程入门
上QQ阅读APP看书,第一时间看更新

2.2 变量和数据类型

2.2.1 变量和赋值

现实生活中,我们在超市买东西的时候,往往都需要使用购物车来存储物品,等到所有的物品都购买完成后,在收银台进行结账即可,如图2-3所示。

图2-3 超市购物车结账

大家试想一下,如果程序中要对多个数据求和,就需要把这些数据先存储起来,再对这些数据进行累加。

在Python中,若要存储数据,需要用到变量。变量可以理解为去超市购物使用的购物车,它的类型和值在赋值的那一刻被初始化。变量的赋值是通过等号来表示的,示例代码如下:

num1 = 100     #num1就是一个变量,就好比一辆购物车,存储的是数据100

num2 = 87     #num2也是一个变量,存储的数据是87

result = num1+num2 #把num1和num2这两辆"购物车"中的数据进行累加,然后放到result变量中

上述示例中,num1、num2、result都是变量,其中,变量num1和num2就好比一辆购物车,它们分别存储的数据是100和87。变量result存储的数据是num1和num2这两辆“购物车”中的数据累计之和。

2.2.2 变量的类型

变量用来存储数据,那么大家有没有想过,我们应该让变量占用多大空间,保存什么样的数据呢?在讲解变量的类型之前,我们先来看一个生活中的例子,例如,我们要运送一台电脑,大卡车和小轿车都可以完成,但是,如果使用大卡车运送一台电脑,显然有点小题大做,浪费了大卡车的空间,如图2-4所示。

同理,如果使用变量存储数据时,为了更充分利用内存空间,我们可以为变量指定不同的数据类型。Python中常见的变量的数据类型如图2-5所示。

图2-4 卡车和轿车运输一台电脑

图2-5 Python变量数据类型

图2-5中罗列了变量的数据类型,下面对这些数据类型进行一个简单介绍。

(1)数字类型

Python中的数字类型包含整型、浮点型和复数类型。示例代码如下:

整 型:0101  83  -239  0x80  299384938832

浮点型:3.1415  4.2E-10  -2.34E-19

复数类型:3.12+1.23j  -1.23-98j

(2)布尔类型

布尔类型是特殊的整型,它的值只有两个,分别是True和False。如果将布尔值进行数值运算,True会被当作整型1,False会被当作整型0。

(3)字符串类型

Python中的字符串被定义为一个字符集合,它被引号所包含,引号可以是单引号、双引号或者三引号(三个连续的单引号或者双引号)。字符串具有索引规则,第1个字符的索引是0,第2个字符的索引是1,以此类推。

下面是字符串的示例代码:

Str1='Python'

Str2="Python"

Str3='''Python'''

(4)列表和元组类型

我们可以将列表和元组当作是普通的“数组”,它们可以保存任意数量的任意类型的值,这些值称作元素。不同的是,列表中的元素使用中括号[]包含,元素的个数和值是可以随意修改的。而元组中的元素使用小括号()包含,元素不可以被修改。下面看一下列表和元组的表示方式。

aList = [1,2,'hello']         #这是一个列表

aTuple = (1,2,'hello')        #这是一个元组

(5)字典类型

字典是Python中的映射数据类型,由键-值对组成。字典可以存储不同类型的元素,元素使用大括号{}来包含。通常情况下,字典的键会以字符串或者数值的形式来表示,而值可以是任意类型。示例代码如下:

aDict = {"name":"zhangsan","age":18}  #这是一个字典

上述代码中,变量aDict是一个字典类型,它存储了两个元素,第1个元素的键为name,值为zhangsan;第2个元素的键为age,值为18。

在Python中,只要定义了一个变量,并且该变量存储了数据,那么变量的数据类型就已经确定了。这是因为系统会自动辨别变量的数据类型,不需要开发者显式说明变量的数据类型了。

如果希望查看变量的类型,可以使用“type(变量的名字)”来实现。示例代码如下:

>>> num = 5.2

>>> type(num)             // 使用type函数查看类型

<type 'float'>

上述代码中,变量num存储的值为5.2,系统会自动根据数值判断num变量的数据类型为float。因此,当使用type函数查看变量num的数据类型时,结果为float。