python数据类型的转换
在python编程过程中,我们会经常用到对不同数据类型的转换,本章节将会跟大家一起学习和分享,python 内置函数的类型转换,接下来就开始一起学习吧,朋友。
int(x[,base])
iint(x[,base]):函数主要是将一个字符串或数字转换成一个类型为整型的十进制数字,返回的是int类型
语法: int(x,base)
x:为字符串或数字类型
base: 为进制数,默认为10进制
注意点:
- 不支持浮点格式的字符串类型转换,例如:int(‘12.35’)
- 当参数X类型为纯数字字符串类型,不允许带base参数,例如:int(‘12’, base=10)
- 当x为字符串类型,并且不符合base规则的,也会进行报错,例如 int(‘asss’)
#将字符串转换为整型
#注意:不允许浮点格式的字符串类型
str = '12'
print(int(str))
#将浮点数转为整型
float_number = 12.34
print(int(float_number))
#将16进制转为为整型
print(int('0x14', base=16))
#将8进制转为为整型
print(int('0o24', base=8))
#将二进制转为为整型
print(int('0b10100', base=2))
>>>
12
12
20
20
20
long(x[,base])
long(x[,base])方法主要是将一个数字或字符串转换为一个long类型的长整型数字
long方法的使用与int方法类型,但是在python3.X中已经不兼容了,所以这里暂时不做过多的描述和使用规则
float(x)
float(x):主要是将一个字符串类型或整数类型转换为一个浮点类型的数字,返回类型是float类型
语法:float(x)
x: 一个字符串或一个数字类型
注意:
- 参数x必须是一个数字格式的类型,否则会出现报错。例如:float(‘a’)
#将字符串转换为float类型
print(float('12.35'))
#将整数转换为float类型、
print(float(12))
>>>
12.35
12.0
str(x)
str(x):主要是将一个对象转换为字符串类型,可以支持数字类型,字典类型,列表类型,以及一些其他类型,例如class类…,返回的类型为string类型
语法 str(x)
x: 为object对象,
#将数字类型转为为类型
print(str(12.34))
#将列表转换为字符串类型
print(str([1,2,3,4]))
#将字典转换为字符串类型
print(str({'name':'Mr.xu'}))
>>>
12.34
[1, 2, 3, 4]
{'name': 'Mr.xu'}
repr(x)
repr(x):主要是将一个对象转换为表达式字符串类型,与string方法类似,str方法将对象转换为适于人类读取的形式,而repr方法则将对象转换为解释器读取的形式,
语法 repr(x)
x: 为object对象,
return: 返回的是字符串类型
#将数字类型转为为类型
print(12.34)
#将列表转换为字符串类型
print(str([1,2,3,4]))
#将字典转换为字符串类型
print(str({'name':'Mr.xu'}))
>>>
12.34
[1, 2, 3, 4]
{'name': 'Mr.xu'}
eval(expression[, globals[, locals]])
repr(x):
语法 eval(expression[, globals[, locals]])
expression: 表达式
globals: 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。
locals: 变量作用域,全局局部空间,如果被提供,则可以是任何被映射的对象。。
#是的
list_1 = []
#将列表转换为字符串类型
print(str([1,2,3,4]))
#将字典转换为字符串类型
print(str({'name':'Mr.xu'}))
#进行运算
print(eval('1+2'))
>>>
[1, 2, 3, 4]
{'name': 'Mr.xu'}
3
tuple(iterable)
将一个可迭代器对象转成一个元组类型,返回类型为tuple
语法 tuple( iterable )
iterable : 可迭代系列
list_1 = [1,2,3,4]
#将列表转换为元组类型
print(tuple([1,2,3,4]))
#将字典的key转换成元组类型
a={'name':'xuwei','sex':'man'}
print(tuple(a))
#将字符串转换成元组类型
print(tuple('123232'))
#将集合转换成元组类型
a = set('12345')
print(a)
print(tuple(a))
>>>
(1, 2, 3, 4)
('name', 'sex')
('1', '2', '3', '2', '3', '2')
{'2', '4', '3', '1', '5'}
('2', '4', '3', '1', '5')
list(iterable)
将一个可迭代器对象转成一个元组类型,返回类型为list
语法 list( iterable )
iterable : 一个可迭代的元组或字符串
#将元组转换为列表类型
tuple_1= ('name', 'sex')
print(list(tuple_1))
#将字符串转换成列表类型
print(list('123232'))
>>>
['name', 'sex']
['1', '2', '3', '2', '3', '2']
set(iterable )
将一个列表或字符串转换成一个无序不重复的元素集合,可以用来过滤重复的字符串和重复的列表的值,返回类型为set
语法 set( iterable )
iterable : 一个可迭代的元组或字符串或列表类型
#将字符串类型转换为set
name1 = 'sdddx'
print(set(name1))
#将列表类型转换为set
list_1 = ['2','2','3','1']
print(set(list_1))
#将元组类型转换成set
tuple_1 = (1,3,4,4)
print(set(tuple_1))
>>>
{'s', 'x', 'd'}
{'2', '1', '3'}
{1, 3, 4}
dict(iterable )
创建一个字典,可以将关键字,映射,可迭代对象进行创建,返回一个dict类型
语法
class dict(**kwarg)
class dict(mapping, **kwarg)
class dict(iterable, **kwarg))
**kwargs – 关键字
mapping – 元素的容器。
iterable – 可迭代对象。
#通过关键字进行转换为dict
print(dict(name='xw',age=18,sex='man'))
#通过映射进行转换dict
print(dict(zip(['name','sex','age'],['xw','18','man'])))
#通过可迭代对象来转换成dict
print([('name','xw'),('sex',18)])
>>>
{'name': 'xw', 'age': 18, 'sex': 'man'}
{'name': 'xw', 'sex': '18', 'age': 'man'}
[('name', 'xw'), ('sex', 18)]
char(x)
用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符。
语法
char(x)
x – 可以是10进制也可以是16进制的形式的数字。
#10进制转换为字符类型
print(chr(48))
#16进行转换
#注意如果直接使用chr(hex(48))则会出现报错,因为hex(48)返回的是字符串类型,这里不能使用字符串类型进行
a = hex(48)
print(a)
print(chr(0x30))
>>>
0
0x30
0
ord(x)
将一个字符转换为整数,是 chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值
语法
ord(x)
x – 字符类型
#转换
print(ord('a'))
#字符进行转换
print(ord(chr(0x30)))
>>>
97
48
hex(x)
将一个整数转换成16进制字符串,返回的是字符串类型
语法
hex(x)
x – 整数
#整数进行转换
a = hex(48)
print(a)
>>>
0x30
oct(x)
将一个整数转换成8进制字符串,返回的是字符串类型
语法
oct(x)
x – 整数
#转换-将一个整数转换为8进制
print(oct(12))
>>>
0o14