Python中如何实现各类数据类型转换?

2026-06-11 04:101阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计660个文字,预计阅读时间需要3分钟。

Python中如何实现各类数据类型转换?

Python 是一种动态类型语言,不需要在变量使用前声明类型。与 Java 或 C 语言不同,Python 不强制要求在使用变量前声明其类型。但在某些特定场景下,仍可能需要使用类型转换。例如,我们想通过使用 print() 函数输出内容。

虽然 Python 是弱类型编程语言,不需要像 Java 或 C 语言那样还要在使用变量前声明变量的类型,但在一些特定场景中,仍然需要用到类型转换。

比如说,我们想通过使用 print() 函数输出信息“您的身高:”以及浮点类型 height 的值,如果在交互式解释器中执行如下代码:

>>> height = 70.0
>>> print("您的身高"+height)
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
print("您的身高"+height)
TypeError: must be str, not float

你会发现这是错误的,解释器提示我们字符串和浮点类型变量不能直接相连,需要提前将浮点类型变量 height 转换为字符串才可以。

庆幸的是,Python 已经为我们提供了多种可实现数据类型转换的函数,如表 1 所示。

表 1 常用数据类型转换函数 函 数 作 用 int(x) 将 x 转换成整数类型 float(x) 将 x 转换成浮点数类型 complex(real,[,imag]) 创建一个复数 str(x) 将 x 转换为字符串 repr(x) 将 x 转换为表达式字符串 eval(str) 计算在字符串中的有效 Python 表达式,并返回一个对象 chr(x) 将整数 x 转换为一个字符 ord(x) 将一个字符 x 转换为它对应的整数值 hex(x) 将一个整数 x 转换为一个十六进制字符串 oct(x) 将一个整数 x 转换为一个八进制的字符串
需要注意的是,在使用类型转换函数时,提供给它的数据必须是有意义的。例如,int() 函数无法将一个非数字字符串转换成整数:

>>> int("123") #转换成功
123
>>> int("123个") #转换失败
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
int("123个")
ValueError: invalid literal for int() with base 10: '123个'
>>>

Python中如何实现各类数据类型转换?

本文共计660个文字,预计阅读时间需要3分钟。

Python中如何实现各类数据类型转换?

Python 是一种动态类型语言,不需要在变量使用前声明类型。与 Java 或 C 语言不同,Python 不强制要求在使用变量前声明其类型。但在某些特定场景下,仍可能需要使用类型转换。例如,我们想通过使用 print() 函数输出内容。

虽然 Python 是弱类型编程语言,不需要像 Java 或 C 语言那样还要在使用变量前声明变量的类型,但在一些特定场景中,仍然需要用到类型转换。

比如说,我们想通过使用 print() 函数输出信息“您的身高:”以及浮点类型 height 的值,如果在交互式解释器中执行如下代码:

>>> height = 70.0
>>> print("您的身高"+height)
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
print("您的身高"+height)
TypeError: must be str, not float

你会发现这是错误的,解释器提示我们字符串和浮点类型变量不能直接相连,需要提前将浮点类型变量 height 转换为字符串才可以。

庆幸的是,Python 已经为我们提供了多种可实现数据类型转换的函数,如表 1 所示。

表 1 常用数据类型转换函数 函 数 作 用 int(x) 将 x 转换成整数类型 float(x) 将 x 转换成浮点数类型 complex(real,[,imag]) 创建一个复数 str(x) 将 x 转换为字符串 repr(x) 将 x 转换为表达式字符串 eval(str) 计算在字符串中的有效 Python 表达式,并返回一个对象 chr(x) 将整数 x 转换为一个字符 ord(x) 将一个字符 x 转换为它对应的整数值 hex(x) 将一个整数 x 转换为一个十六进制字符串 oct(x) 将一个整数 x 转换为一个八进制的字符串
需要注意的是,在使用类型转换函数时,提供给它的数据必须是有意义的。例如,int() 函数无法将一个非数字字符串转换成整数:

>>> int("123") #转换成功
123
>>> int("123个") #转换失败
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
int("123个")
ValueError: invalid literal for int() with base 10: '123个'
>>>

Python中如何实现各类数据类型转换?