转换数据类型可以转换不同类型,更方便输出。input输入都是字符串类型,字符串可以转换成成整型,也可以转换成浮点数类型
转换数据类型的函数
int(x)将x转换为一个整数
float(x)将x转换为一个浮点数
complex(real [,image])创建一个复数,real为实部,image为虚部
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)将一个整数转换为一个二进制字符串
需要记住橙色的几个,其他可暂且不记。
num = input('请输入一个数字: ')
print(type(num))
print(type(int(num)))
请输入一个数字: 1231
<class 'str'>
<class 'int'>
用int()函数转换成功把原本input的str类型转换成int类型。
a = 4
b = input('一个数字: ')
print(type(a))
print(type(b))
print(type(float(a)))
print(type(float(b)))
print(float(a))
print(float(b))
一个数字: 7
<class 'int'>
<class 'str'>
<class 'float'>
<class 'float'>
4.0
7.0
对于元组和列表转换
list1 = [1, 2, 3]
print(tuple(list1))
tt = (1, 2, 3)
print(list(tt))
(1, 2, 3)
[1, 2, 3]
eval转换
eval转换就是把字符串里的数据转换成本身的类型
c = '1'
d = '11231.1231'
e = '(112, 342, 234)'
f = '[1231, 234, 436]'
print(type(eval(f)))
print(type(eval(e)))
print(type(eval(d)))
print(type(eval(c)))
<class 'list'>
<class 'tuple'>
<class 'float'>
<class 'int'>
对于后面会学到的一些数据结构,比如列表,元组等,当它们有元素时就是true,没有则是false,不同于int,float这样的类型,0表示false,非0表示true。