常用的数据类型转换
函数 |
说明 |
int(x [,base ]) |
将x转换为一个整数 |
long(x [,base ]) |
将x转换为一个长整数 |
float(x ) |
将x转换到一个浮点数 |
complex(real [,imag ]) |
创建一个复数 |
str(x ) |
将对象 x 转换为字符串 |
repr(x ) |
将对象 x 转换为表达式字符串 |
eval(str ) |
用来计算在字符串中的有效Python表达式,并返回一个对象 |
tuple(s ) |
将序列 s 转换为一个元组 |
list(s ) |
将序列 s 转换为一个列表 |
chr(x ) |
将一个整数转换为一个字符 |
unichr(x ) |
将一个整数转换为Unicode字符 |
ord(x ) |
将一个字符转换为它的整数值 |
hex(x ) |
将一个整数转换为一个十六进制字符串 |
oct(x ) |
将一个整数转换为一个八进制字符串 |
案例演示
>>> v1 = "30.05"
>>> v2= "abc"
>>> v3 = 9.99
>>> print(float(v1))
30.05
>>> print(float(v2)) #报错,强制类型转换前提里面比如是对应类型的数据,abc就不是float类型。
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: could not convert string to float: 'abc'
>>> print(int(v3)) #同样number类型的可以转化,但是可能会失去精度
9
>>> print(int(v1))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '30.05'
>>> print(int(float(v1))) #类型转化可以进行多层嵌套使用
30
>>>