python 数据类型的转换
int()
int(x,base)
x 有两种:字符串 / 数字
- 若 x 为纯数字,则不能有base参数,主要用于 x 取整
int(3.14) # 3
int(-11.5) # -11
- 如果 x 为字符串,则 base 参数可选。
base 参数存在时,视 x 为 base类型的数字,并将其转为10进制。
如果 x 不符合 base 规则,则报错
int('9',2) # 报错,'9' 不是二进制
int('1.2',8) # 报错,字符串必须为整数
int('b',8) # 报错,不符合八进制规则
int('5') # 5 默认为10进制
int('1001',2) # 9 '1001'二进制转10进制
int('0xa',16) # 10 十六进制转换
float()
float(x) 将 x 转为一个浮点数,要注意 x 的格式
complex()
complex(real[,imag]) 创建一个复数
str()
str(x) 将 x 转为一个字符串。
需要注意的是,由于数字的不可变,导致我们不能通过a+''
这种方式,将一个数字变量隐式转换为一个字符串变量
repr()
repr(x) 将对象 x 转换为表达式字符串,即供解释器读取的类型
tuple()
tuple(iterable) 可以将 字符串、列表、字典、集合 转为元组
注:在转换字典时,只会保留键
list()
list(seq) 将元组或字符串转为列表
在转换字符串时,会自动切割,将每个字符转为一个单独的元素
set()
set(s) 将s转为可变集合
可以通过转为可变集合来去重
dict()
dict(d) 创建一个字典, d 必须为(key:value)元组序列
frozenset()
frozenset(s) 返回一个冻结的集合,该集合不能添加或删除任何元素,可以修改
一般的 set 集合是可变的,但是存在 一个集合中的元素是另一个集合 的情况。此时要求作为元素的集合必须是不可变的集合,该方法提供了相关途径。
set集合 => 冻结 => 作为元素添加到另一个 set 集合
chr()
chr(x) 将一个整数转为一个字符,ASCII标准
ord()
ord(x) 将一个字符转为它的整数值,ASCII标准
hex()
hex(x) 将整数 x 转为一个十六进制字符串
oct()
oct(x) 将整数 x 转为一个八进制字符串
eval()
eval(expression[,globals[,locals]]) 执行一个字符串的表达式,并返回表达式的值
expression 表达式
globals 可选,变量作用域,全局命名空间,如果提供,必须是字典对象
locals 可选,变量作用域,局部命名空间,如果提供,可以是任何映射对象