Python类型转换

Python类型转换教程

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

对 Python 内置的数据类型进行转换时,可以使用内置函数。

Python类型转换函数

函数格式 使用示例 描述
int(x [,base]) int(“8”) 可以转换的包括String类型和其他数字类型,但是会丢失精度
float(x) float(1)或者float(“1”) 可以转换String和其他数字类型,不足的位数用0补齐,例如1会变成1.0
complex(real ,imag) complex(“1”)或者complex(1,2) 第一个参数可以是String或者数字,第二个参数只能为数字类型,第二个参数没有时默认为0
str(x) str(1) 将数字转化为String
repr(x) repr(Object) 返回一个对象的String格式
eval(str) eval(“12+23”) 执行一个字符串表达式,返回计算的结果,如例子中返回35
tuple(seq) tuple((1,2,3,4)) 参数可以是元组、列表或者字典,wie字典时,返回字典的key组成的集合
list(s) list((1,2,3,4)) 将序列转变成一个列表,参数可为元组、字典、列表,为字典时,返回字典的key组成的集合
set(s) set([‘b’, ‘r’, ‘u’, ‘o’, ‘n’])或者set(“asdfg”) 将一个可以迭代对象转变为可变集合,并且去重复,返回结果可以用来计算差集x - y、并集x | y、交集x & y
frozenset(s) frozenset([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) 将一个可迭代对象转变成不可变集合,参数为元组、字典、列表等,
chr(x) chr(0x30) chr()用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符。返回值是当前整数对应的ascii字符。
ord(x) ord(‘a’) 返回对应的 ASCII 数值,或者 Unicode 数值
hex(x) hex(12) 把一个整数转换为十六进制字符串
oct(x) oct(12) 把一个整数转换为八进制字符串

案例

数字转字符串

使用 str() 函数,将 整数 转成 字符串

print("嗨客网(www.haicoder.net)") # 使用 str 函数,将整数转成字符串 num = 1024 strNum = str(num) print('Num =', num, 'Type =', type(num)) print('StrNum =', strNum, 'Type =', type(strNum))

程序运行后,控制台输出如下:

41_Python类型转换.png

首先,我们定义了一个整型类型的变量,接着,我们使用 str() 函数,将整型变量转换成字符串类型。

我们使用 print() 函数,输出变量 num 的值,以及变量 num 的类型,num 的值为 1024,类型为 int。

最后,使用 print() 函数,输出变量 strNum 的值,以及变量 strNum 的类型,变量 strNum 的值为 1024,类型为 str,即整型变量 num 被我们使用 str 函数转换成了字符串类型。

字符串转数字

使用 int() 函数,将字符串转数字

print("嗨客网(www.haicoder.net)") # 使用 int 函数,将字符串转成数字 strNum = "1024" num = int(strNum) print('strNum =', strNum, 'Type =', type(strNum)) print('num =', num, 'Type =', type(num))

程序运行后,控制台输出如下:

42_Python类型转换.png

首先,我们定义了一个字符串类型的变量,接着,我们使用 int() 函数,将字符串变量转换成数字类型。
我们使用 print() 函数,输出变量 strNum 的值,以及变量 strNum 的类型,变量 strNum 的值为 1024,类型为 str。

最后,使用 print() 函数,输出变量 num 的值,以及变量 num 的类型,num 的值为 1024,类型为 int,即字符串变量 strNum 被我们使用 int 函数转换成了数字类型。

十进制转十六进制

使用 hex() 函数,将十进制转十六进制

print("嗨客网(www.haicoder.net)") # 使用 hex 函数,将十进制转十六进制 num = 1024 hexNum = hex(num) print('num =', num, 'Type =', type(num)) print('hexNum =', hexNum, 'Type =', type(hexNum))

程序运行后,控制台输出如下:

43_Python类型转换.png

首先,我们定义了一个 int 类型的变量,接着,我们使用 hex() 函数,将 int 变量转换成十六进制的字符串类型。
我们使用 print() 函数,输出变量 num 的值,以及变量 num 的类型,变量 num 的值为 1024,类型为 int。

最后,使用 print() 函数,输出变量 hexNum 的值,以及变量 hexNum 的类型,hexNum 的值为 0x400,类型为 str,即 int 变量 num 被我们使用 hex 函数转换成了十六进制的字符串类型。

Python类型转换总结

对 Python 内置的数据类型进行转换时,可以使用内置函数。