Python 3.6从入门到精通(视频教学版)
上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。

例如:

    3.14  10.  .001  1e100  3.14E-10  1e010  08.1

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

    >>> float(150)
    150.0
3. bool(布尔值)

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

    >>> True==1
    True
    >>> True==2
    False
    >>> False==0
    True
    >>> False==-1
    False

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

4. complex(复数)

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

例如:

    1.5 + 0.5j  1J  2 + 1e100j  3.14e-10j

可以使用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)

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

    >>> 50 + 40  # 加法
    90
    >>> 5.6 - 2 # 减法
    3.6
    >>> 30 * 15  # 乘法
    450
    >>> 1/2  # 除法,得到一个浮点数
    0.5
    >>> 1//2  # 除法,得到一个整数
    0
    >>> 15 % 2 # 取余
    1
    >>> 2 ** 10  # 乘方
    1024

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

(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转换为一个浮点数,例如:

    >>>int(10)
    10.0
3. 转换为字符串类型

语法格式如下:

    str(x)

将x转换为一个字符串,例如:

    >>>str(567)
    '567'