Python数据类型转换
有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。
以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。
函数 | 描述 |
---|---|
int(x [,base]) | 将x转换为一个整数 |
float(x) | 将x转换到一个浮点数 |
complex(real ,[imag]) | 创建一个复数 |
str(x) | 将对象 x 转换为字符串 |
repr(x) | 将对象 x 转换为表达式字符串 |
eval(str) | 用来计算在字符串中的有效Python表达式,并返回一个对象 |
tuple(s) | 将序列 s 转换为一个元组 |
list(s) | 将序列 s 转换为一个列表 |
set(s) | 转换为可变集合 |
dict(d) | 创建一个字典。d 必须是一个 (key, value)元组序列。 |
frozenset(s) | 转换为不可变集合 |
chr(x) | 将一个整数转换为一个字符 |
ord(x) | 将一个字符转换为它的整数值 |
hex(x) | 将一个整数转换为一个十六进制字符串 |
oct(x) | 将一个整数转换为一个八进制字符串 |
int() 函数
int() 函数用于将一个字符串或数字转换为整型。
以下是 int() 方法的语法:
#x为变量,base为x的进制数
class int(x, base=10)
参数:
x – 字符串或数字。
base – 进制数,默认十进制。
返回值:
返回整型数据
实例:
a = int() # 不传入参数时,得到结果0
b = int(3)
c = int(3.6)
d = int('12',16) # 如果是带参数base的话,12要以字符串的形式进行输入,12 为 16进制
e = int('0xa',16)
f = int('10',8)
print(a)
print(b)
print(c)
print(d)
print(e)
print(f)
运行结果:
float() 函数
float() 函数用于将整数和字符串转换成浮点数。
float()方法语法:
class float([x])
参数:
x – 整数或字符串
返回值:
返回浮点数。
实例:
a = float(1)
b = float(112)
c = float(-123.6)
d = float('123') # 字符串
print(a)
print(b)
print(c)
print(d)
运行结果:
complex() 函数
complex() 函数用于创建一个值为 real + imag * j 的复数或者转化一个字符串或数为复数。如果第一个参数为字符串,则不需要指定第二个参数。
complex()方法语法:
class complex([real[, imag]])
参数:
real – int, long, float或字符串;
imag – int, long, float;
返回值:
返回一个复数。
实例:
a = complex(1,2)
b = complex(2)
c = complex('1')
# 注意:这个地方在"+"号两边不能有空格,也就是不能写成"1 + 2j",应该是"1+2j",否则会报错
d = complex('1+2j')
print(a)
print(b)
print(c)
print(d)
运行结果:
str()函数
str() 函数将对象转化为适于人阅读的形式。
str()方法语法:
class str(object='')
参数:
object – 对象。
返回值:
返回一个对象的string格式。
实例:
a = 'zhaofengqing'
b = str(a)
c = {'runoob': 'runoob.com', 'google': 'google.com'};
d = str(c)
print(b)
print(d)
运行结果:
repr() 函数
repr() 函数将对象转化为供解释器读取的形式。
repr() 方法语法:
repr(object)
参数:
object – 对象。
返回值:
返回一个对象的 string 格式。
实例:
a = 'zhaofengqing'
b = repr(a)
c = {'runoob': 'runoob.com', 'google': 'google.com'};
d = repr(c)
运行结果:
eval() 函数
eval() 函数用来执行一个字符串表达式,并返回表达式的值。
方法语法:
eval(expression[, globals[, locals]])
参数:
expression – 表达式。
globals – 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。
locals – 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。
返回值:
返回表达式计算结果。
实例:
a = 7
b = eval('3 * a')
c = eval('2 + 2')
d = eval('pow(2,2)')
e = 100
f = eval('e + 2')
print(b)
print(c)
print(d)
print(f)
运行结果:
tuple()函数
tuple 函数将可迭代系列(如列表)转换为元组。
tuple()方法语法:
tuple( iterable )
参数:
iterable – 要转换为元组的可迭代序列。
返回值:
返回元组。
实例:
list1= ['Google', 'Taobao', 'Runoob', 'Baidu']
tuple1=tuple(list1)
print(tuple1)
运行结果:
List list()方法
list() 方法用于将元组或字符串转换为列表
注:元组与列表是非常类似的,区别在于元组的元素值不能修改,元组是放在括号中,列表是放于方括号中。
List list()方法语法:
list( seq )
参数:
seq – 要转换为列表的元组或字符串。
返回值:
返回列表。
实例:
aTuple = (123, 'Google', 'Runoob', 'Taobao')
list1 = list(aTuple)
print ("列表元素 : ", list1)
str="Hello World"
list2=list(str)
print ("列表元素 : ", list2)
运行结果:
set() 函数
set() 函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。
set() 方法语法:
class set([iterable])
参数:
iterable – 可迭代对象;
返回值:
返回新的集合对象。
实例:
x = set('runoob')
y = set('google')
print(x)
print(y)
print(x & y) # 交集
print(x - y) # 差集
print(x | y) # 并集
运行结果:
dict()函数
dict() 函数用于创建一个字典。
** dict()方法语法:**
class dict(**kwarg)
class dict(mapping, **kwarg)
class dict(iterable, **kwarg)
参数:
**kwargs – 关键字。
mapping – 元素的容器,映射类型(Mapping Types)是一种关联式的容器类型,它存储了对象与对象之间的映射关系。
iterable – 可迭代对象。
返回值:
返回一个字典。
实例:
#实例1
a = dict()
b = dict(x='a', y='b', z='t')
c = dict(zip(['one', 'two', 'three'], [1, 2, 3]))
d = dict([('one', 1), ('two', 2), ('three', 3)])
print(a)
print(b)
print(c)
print(d)
#实例2
numbers = dict(x=5, y=0)
print('numbers =', numbers)
print(type(numbers))
empty = dict()
print('empty =', empty)
print(type(empty))
#实例3
numbers1 = dict({'x': 4, 'y': 5})
print('numbers1 =',numbers1)
# 以下代码不需要使用 dict()
numbers2 = {'x': 4, 'y': 5}
print('numbers2 =',numbers2)
# 关键字参数会被传递
numbers3 = dict({'x': 4, 'y': 5}, z=8)
print('numbers3 =',numbers3)
运行结果:
frozenset()函数
frozenset() 返回一个冻结的集合,冻结后集合不能再添加或删除任何元素。
frozenset()方法语法:
class frozenset([iterable])
参数:
iterable – 可迭代的对象,比如列表、字典、元组等等。
返回值:
返回新的 frozenset 对象,如果不提供任何参数,默认会生成空集合。
实例:
a = frozenset(range(10)) # 生成一个新的不可变集合
b = frozenset('runoob') # 创建不可变集合
print(a)
print(b)
运行结果:
chr() 函数
chr() 用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符。
chr() 方法语法:
chr(i)
参数:
i – 可以是10进制也可以是16进制的形式的数字。
返回值:
返回值是当前整数对应的 ASCII 字符。
实例:
print(chr(0x30), chr(0x31), chr(0x61)) # 十六进制
print( chr(48), chr(49), chr(97) ) # 十进制
运行结果:
ord()函数
ord() 函数是 chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值,如果所给的 Unicode 字符超出了你的 Python 定义范围,则会引发一个 TypeError 的异常。
ord()方法语法:
ord(c)
参数:
c – 字符。
返回值:
返回值是对应的十进制整数。
实例:
print(ord('a'))
print(ord('b'))
print(ord('c'))
运行结果:
hex() 函数
hex() 函数用于将10进制整数转换成16进制,以字符串形式表示。
hex() 方法语法:
hex(x)
参数:
x – 10进制整数
返回值:
返回16进制数,以字符串形式表示。
实例:
print(hex(255))
print(type(hex(12)))
运行结果:
oct() 函数
oct() 函数将一个整数转换成 8 进制字符串。
Python2.x 版本的 8 进制以 0 作为前缀表示。
Python3.x 版本的 8 进制以 0o 作为前缀表示。
oct() 方法语法:
oct(x)
参数:
x – 整数。
返回值:
返回 8 进制字符串。
实例:
print(oct(10))
运行结果:
如果存在什么问题,可以私信我。
我们一起学习和探讨!