数据类型转换也就是把之前的数据类型转换成另外一种,我们可以通过做运算或者内置函数进行转换,这篇文章我们来讲解一下具体怎么实施。

一、做运算

进行算术运算可以在int和float直接进行转换,如下代码:

print (6/3)  #2.0
print (type(6/3))   #float类型

python数据转换 python怎么转化数据类型_python

二、函数

  • int(x):把x转成int型
  • float(x):把x转成float型
  • str(x):把x转成字符串型
  • chr(x):把ASCII码转成字符
  • ord(x):把字符转成ASCII码
  • hex(x):把十进制x转换成十六进制
  • oct(x):把十进制x转换成八进制
  • bin(x):把十进制x转换成二进制
  • eval(字符串):去掉字符串的引号

int型代码如下:

print (int('3'))   #字符串转int,结果为3
print (int(1.23))   #float转int,结果为1
print (int(1.99))   #float转int,结果为1,因为是截断小数点后边的,只取整数,所以是1
print (int('1.23'))   #这个会报错,因为字符串1.23没办法直接转成整型
print (int('abcd'))   #这个也会报错,因为字符串abcd本身就没办法转换成整型

float型代码如下:

print (float(3))   #int转换成float,结果为3.0
print (float('3.14'))    #字符串转换成float,结果为3.14
print (float('3a'))   #字符串转换成float,会报错,因为没办法转换

str型:
万物皆可字符串

print (type(str(3)))   #字符串3,type为查看数据类型
print (type(str(3.14)))   #字符串3.14

chr,ord以及后边的几个函数,咱们之前几篇文章中已经讲过了,这里就用几个简单的例子回忆一下:

print (chr(65))  #A,表示ASCII码65指向的字符
print (ord('A'))   #65,字符A的ASCII码
print (hex(10))  #0xa,10的十六进制
print (oct(10))  #0o12,10的八进制
print (bin(10))  #0b1010,10的二进制

eval:这个函数是把字符串去掉引号,经常应用在程序里边取数据。这个函数用的非常多,但是需要注意的是,字符串去掉引号后,里边的内容得有意义,否则会报错。代码如下:

a = eval('3')  #字符串3去掉引号后是3
print (a)   #3

b = eval('c')  #字符c去掉引号后变成了变量名,但是没有定义过这个变量,所以会报错
print (b)

user_info = '{user_name=\'张三\',age=23}'  #去掉引号后,是个字典
print (user_info)  #结果为:{user_name='张三',age=23}

综上所述,是我们讲的数据类型之间的转换,需要结合之前的进制转换一起看哦。