数据类型转换
常用的数据类型转换
函数 | 说明 |
---|---|
int(x [,base ]) | 将x转换为一个整数 |
float(x ) | 将x转换为一个浮点数 |
complex(real [,imag ]) | 创建一个复数,real为实部,imag为虚部 |
str(x ) | 将对象 x 转换为字符串 |
repr(x ) | 将对象 x 转换为表达式字符串 |
eval(str ) | 用来计算在字符串中的有效Python表达式,并返回一个对象 |
tuple(s ) | 将序列 s 转换为一个元组 |
list(s ) | 将序列 s 转换为一个列表 |
chr(x ) | 将一个整数转换为一个Unicode字符 |
ord(x ) | 将一个字符转换为它的ASCII整数值 |
hex(x ) | 将一个整数转换为一个十六进制字符串 |
oct(x ) | 将一个整数转换为一个八进制字符串 |
bin(x ) | 将一个整数转换为一个二进制字符串 |
举例
>>> # int(): 将数据转换为 int 类型
...
>>> str1 = "10"
>>> # int() 默认按10进制转换后显示
... num1 = int(str1)
>>>
>>> # int() 处理浮点数,只留下整数部分,舍弃小数部分(并不是四舍五入操作)
... num2 = int(3.74)
>>> print(num2)
3
>>>
>>> """
... num1 = int(str1, 8) # 第二个参数为8,表示按8进制转换后显示,结果为 8
... num1 = int(str1, 16) # # 第二个参数为16,表示按16进制转换后显示,结果为 16
... #01 02 03 04 05 06 07 10
... #01 02 ... 0B 0C 0D 0E 0F 10
... print(num1)
... """
>>>
>>> # float() 将数据转化为浮点数
... str2 = "3.14"
>>> f1 = float(str2)
>>> print(type(f1))
<class "float">
>>>
>>> f2 = float(10)
>>> print(f2)
10.0
>>>
>>> # complex() 创建复数: 第一个参数是复数的实部,第二个参数是复数的虚部
... c1 = 10 + 4j
>>> c2 = complex(10, 4)
>>>
>>> print(c1)
(10+4j)
>>> print(c2) # 等同与c1
(10+4j)
>>>
>>> # str() : 转换为 字符串类型
... num1 = 10
>>> f1 = 3.14
>>>
>>> print(type(str(num1)))
<class "str">
>>> print(type(str(f1)))
<class "str">
>>>
>>> # repr(): 转换为表达式字符串
... num1 = 10
>>> print(type(repr(num1)))
<class "str">
>>>
>>>
>>> # eval(): 将字符串形式的数据,转换为原本的类型
... str1 = "3.14"
>>> print(type(eval(str1)))
<class "float">
>>>
>>> str2 = "[10, 20, 30]"
>>> l = eval(str2)
>>> print(type(l))
<class "list">
>>>
>>>
>>> # chr: 将一个整数转换为对应的 Unicode 字符
... s = chr(1065)
>>> print(s)
Щ
>>>
>>> # ord :将一个字符转换为对应的字符编码数字
... n = ord("A")
>>> print(n)
65
>>>
>>> # bin: 将一个整数转换为二进制
... print(bin(1024)) # 0b 开头表示二进制数
0b10000000000
>>>
>>> # oct:将一个整数转换为八进制
... print(oct(1024)) # 0o 开头表示八进制数
0o2000
>>>
>>> # hex: 将一个整数转换为十六进制
... print(hex(1024)) # 0x 开头表示十六进制
0x400
>>>