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'