Python3 数据类型转化



前言

  很多时候,我们编程需要对数据进行强制转换。在 Python3 中,强制转换和 Java 、C 语言一样分成两种:隐式的转换、和显示的转换。不同点就是他们的语法规则稍有区别。这篇文章分成三个部分来说,隐式转换 (最简单)、显试转换 (有其他语言基础 easy) 、转换表(记不住就多看表)


一、隐式转换

1.概念

  隐式转换,我觉得叫做默认转换差不多。举个例子: 4.0 + 1 = 5.0. int 类型和浮点类型相加的结果会是成精度高的浮点类型。我们看这个程序:

2.代码解释

num1 = 4.0
num2 = 1
result = num1 + num2
print(f'num1的数据类型:{
      
      type(num1)}\n')
print(f'num2的数据类型:{
      
      type(num2)}\n')
print(f'result的数据类型:{
      
      type(result)}')

输出结果:

在这里插入图片描述

  我们对这个简单的程序做一下解释:

  1. 程序中我们对 num1 浮点型 和 num2 整型进行加法运算,结果储存在 result 变量中。
  2. 通过查看变量类型我们知道,Python 会把结果处理成 float 类型,这是因为编程语言需要追求准确度,避免精度缺失问题。

二、显试转换

1.概念

  显式转换就是需要我们进行手动转换,还是举个例子:1 + ‘1’ = ?int 类型 和 字符类型直接进行相加,结果会报错的!也就是说不同生物之间是不能进行自然基因交流,存在生殖隔离。但是人类是调皮的,是富于创造的,显式转化就好比是基因工程,我会强行要求基因拼接,强行要求你改变类型进行运算。

2.代码解释

代码如下(示例):

num3 = 1
num4 = '1'
result1 = num3 + num4       # 会报错,不能直接相加
num5 = int(num4)            # 进行强行转化才可相加,运行程序把上一行去掉就可以运行。
result2 = num3 + num5
print(f'num3的数据类型:{
      
      type(num3)}\n')
print(f'num4的数据类型:{
      
      type(num4)}\n')
print(f'num5的数据类型:{
      
      type(num5)}\n')
print(f'result的数据类型:{
      
      type(result2)}')

  其实在很多地方我们都需要显示的数据转化,特别是我们需要获取输入的时候。input() 函数返回给我们的就是一个字符串,你需要对其进行加减操作就需要强制转化,通常情况下,我们会用 变量 = eval(input()) 来实现。eval() 函数读取到 1 之类的整型数据就会返回整型给变变量,小数就会返回浮点型,非数字类型返回字符串就很方便。


转化表

  下面几个内置的函数可以对数据进行转换。这张图片来自菜鸟编程。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_51294669/article/details/126945517