Python类型转换,数据类型转换函数大全

Python (207) 2023-07-03 01:05:33

虽然 Python 是弱类型编程语言,不需要像 Java 或 C 语言那样还要在使用变量前声明变量的类型,但在一些特定场景中,仍然需要用到类型转换。

比如说,我们想通过使用 print() 函数输出信息“您的身高:”以及浮点类型 height 的值,如果在交互式解释器中执行如下代码:

>>>height=70.0
>>>print("您的身高"+height)
Traceback(mostrecentcalllast):
File"<pyshell#1>",line1,in<module>
print("您的身高"+height)
TypeError:mustbestr,notfloat

会发现这是错误的,解释器提示我们字符串和浮点类型变量不能直接相连,需要提前将浮点类型变量 height 转换为字符串才可以。

庆幸的是,Python 已经为我们提供了多种可实现数据类型转换的函数,如图所示。

函 数 作 用

int(x)将 x 转换成整数类型Iloat(x)将 x 转换成浮点数类型complex(real,[,imag])创建一个复数str(x)将 x 转换为字符串repr(x)将 x 转换为表达式字符串eval(str)计算在字符串中的有效 Python 表达式,并返回一个对象chr(x)将整数 x 转换为一个字符ord(x)将一个字符 x 转换为它对应的整数值hex(x)将一个整数 x 转换为一个十六进制字符串oct(x)将一个整数 x 转换为一个八进制的字符串

需要注意的是,在使用类型转换函数时,提供给它的数据必须是有意义的。例如,int() 函数无法将一个非数字字符串转换成整数:

>>>int("123")#转换成功
123
>>>int("123个")#转换失败
Traceback(mostrecentcalllast):
File"<pyshell#3>",line1,in<module>
int("123个")
ValueError:invalidliteralforint()withbase10:'123个'
>>>

THE END

发表回复