
1.4.2 数据类型的转换
各种数据类型在满足一定要求情况下是可以相互转换的。
1.整数与浮点数之间的转换
利用int()函数可以把浮点数转换成整数,float()函数可以把整数转换成浮点数,type()函数可以将一个数据的类型显示出来。

2.字符串型数据与整数和浮点数之间的转换
如果字符串中只包含数值和小数点,那么这种字符串可以转换成对应的数值。同样,整数或浮点数也可以转换成字符串,前者使用的仍是int()函数和float()函数,后者使用的是str()函数。

3.十进制整数转换成其他进制字符串
通过函数hex()、oct()和bin()可以将一个整数分别转换成十六进制字符串、八进制字符串和二进制字符串。

eval()函数可以将其他进制字符串转换成整数。

eval()函数还可以把一个字符串型表达式的值输出。

4.布尔型数据与整数和浮点数的转换
任何非零整数和浮点数通过函数bool()都可以转换成True,零转换成False,通过int()函数可以将布尔型数据True和False转换成整数1和0,通过float()函数可以将布尔型数据True和False转换成浮点数1.0和0.0。

5.布尔型数据与字符串的转换
通过bool()函数可以将字符串型数据'True'和'False'转换成布尔型数据True和False,通过str()函数可以将布尔型数据True和False转换成字符串型数据'True'和'False'。

6.十进制整数与ASCII字符之间的转换
也可以通过字符对应的ASCII码的数值输入字符,这需要知道ASCII码与数值之间的对应关系。表1-4所示为不可显示字符的ASCII码对照表,表1-5所示为可显示字符的ASCII码对照表,总共128个。
表1-4 ACSII码中控制字符

表1-5 ACSII码中可显示字符

通过chr()函数可以将ASCII码数值转换成字符;ord()函数是chr()函数的反函数,通过ord()函数可以将字符转换成对应的数值,例如chr(97)表示'a',chr(65)表示'A',ord('W')表示87。要输出'I love you'字符串,可以使用下面的代码。

使用下面的代码可以输出全部大写和小写字母。
