python 数据类型的转换

int()

int(x,base)

x 有两种:字符串 / 数字

  1. 若 x 为纯数字,则不能有base参数,主要用于 x 取整
int(3.14)	# 3
 int(-11.5)	# -11
  1. 如果 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 可选,变量作用域,局部命名空间,如果提供,可以是任何映射对象