Python 3.7从入门到精通(视频教学版)
上QQ阅读APP看书,第一时间看更新

2.5 简单数据类型

Python 3中有两个简单的数据类型,即数字类型和字符串类型。

2.5.1 数字类型

Python 3支持int、float、bool、complex(复数)4种数字类型。

注意 在Python 2中是没有bool(布尔型)的,用数字0表示False,用1表示True。在Python 3中,把True和False定义成了关键字,但它们的值还是1和0,可以和数字相加。

1. int(整数)

下面是整数的示例:

     >>>a = 123456
     >>>a
     123456

可以使用十六进制数值来表示整数,十六进制整数的表示法是在数字之前加上0x,如0x80120000、0x100010100L。

例如:

     >>>a=0x4EEFFFFF
     >>>a
     1324351487

2. float(浮点数)

浮点数的表示法可以使用小数点,也可以使用指数的类型。指数符号可以使用字母e或E来表示,指数可以使用+/-符号,也可以在指数数值前加上数值0,还可以在整数前加上数值0。

例如:

使用float()内置函数可以将整数数据类型转换为浮点数数据类型,例如:

     >>>float(150)
     150.0

3. bool(布尔值)

Python的布尔值包括True和False,只与整数中的1和0有对应关系。例如:

这里利用符号(==)判断左右两边是否绝对相等。

4. complex(复数)

复数的表示法是使用双精度浮点数来表示实数与虚数的部分,复数的符号可以使用字母j或J。

例如:

可以使用real与imag属性分别取出复数的实数和虚数部分,例如:

     >>>a=2.6+0.8j
     >>>a.real
     2.6
     >>>a.imag
     0.8
     >>>a
     (2.6+0.8j)

可以使用complex(real,imag)函数将real与imag两个数值转换为复数。real参数是复数的实数部分,imag参数是复数的虚数部分。例如:

     >>>complex(2.6,0.8)
     (2.6+0.8j)

数值之间可以通过运算符进行运算操作,例如:

在数字运算时,需要注意以下问题:

(1)数值的除法(/)总是返回一个浮点数,要获取整数使用(//)操作符。

(2)在整数和浮点数混合计算时,Python会把整型转换为浮点数。

用户可以将数值使用在函数内,例如:

     >>>round(12.32, 1)
     12.3

可以对数值进行比较,但不可以对复数进行比较,例如:

可以将数值做位移动(shifting)或屏蔽(masking),例如:

     >>>16 << 2
     64
     >>>30 & 0x1B
     26
     >>>2 | 5
     7
     >>>3 ^ 5
     6
     >>>~2
     -3

2.5.2 字符串类型

Python将字符串视为一连串的字符组合。例如,字符串“Parrot”在Python内部被视为"P""a" "r" "r" "o" "t"6个字符的组合。因为第1个字符的索引值永远是0,所以存取字符串“Parrot”的第1个字符"P"时使用"Parrot"[0]。例如:

     >>>"Parrot"[0]
     'P'
     >>>"Parrot"[1]
     'a'

要创建一个字符串时,可以将数个字符以英文单引号、双引号或三引号包含起来,例如:

     >>>a = "Parrot"
     >>>a
     'Parrot'
     >>>a = 'Parrot'
     >>>a
     'Parrot'
     >>>a = '''Parrot'''
     >>>a
     'Parrot'

注意 字符串开头与结尾的引号要一致。

下面的的示例将字符串开头使用双引号、结尾使用单引号。

由此可见,当字符串开头与结尾的引号不一致时,Python会显示一个invalid token的信息。

注意 当字符串长度超过一行时,必须使用三引号将字符串包含起来,因为单引号与双引号不可以跨行。例如:

2.5.3 数据类型的相互转换

有时候,用户需要对数据内置的类型进行转换。数据类型的转换,只需要将数据类型作为函数名即可。以下几个内置的函数可以执行数据类型之间的转换,这些函数返回一个新的对象,表示转换的值。

1. 转换为整数类型

语法格式如下:

     int(x)

将x转换为一个整数,例如:

     >>>int(3.6)
     3

2. 转换为小数类型

语法格式如下:

     float(x)

上面的代码是将x转换为一个浮点数。例如:

     >>>float (10)
     10.0

3. 转换为字符串类型

语法格式如下:

     str(x)

上面的代码是将x转换为一个字符串。例如:

     >>>str(567)
     '567'