Python 程序设计 - 5. 数据类型转换
引入
在 Python 编程中,数据类型转换是一个非常常见的操作。不同类型的数据常常需要在程序中互相转换,例如将字符串转换为整数,或者将浮点数转换为字符串。Python 提供了多种内置函数来完成这些转换任务,使得处理不同数据类型之间的转换变得非常简便。
介绍
在 Python 中,常见的基础数据类型包括:
- 整数 (
int) - 浮点数 (
float) - 字符串 (
str) - 布尔值 (
bool)
有时,我们需要将这些数据类型转换成其他类型,例如:
- 从字符串类型转换为整数或浮点数。
- 从浮点数转换为整数。
- 从整数或浮点数转换为字符串。
Python 提供了一些内置函数来实现这些数据类型的转换,它们包括:
int()float()str()bool()
这些转换函数可以帮助我们在不同的数据类型之间进行互相转换,下面我们会逐一介绍并通过案例进行说明。
语法 + 案例
1. int():转换为整数类型
int() 函数将一个数值或字符串转换为整数。如果转换失败(例如,字符串无法转换为整数),将抛出 ValueError 异常。
示例 1:将字符串转换为整数
# 将字符串 "123" 转换为整数
str_num = "123"
int_num = int(str_num)
# 输出转换后的整数
print(int_num) # 输出:123
print(type(int_num)) # 输出:<class 'int'>
示例 2:将浮点数转换为整数(去掉小数部分)
# 将浮点数 3.14 转换为整数
float_num = 3.14
int_num = int(float_num)
# 输出转换后的整数
print(int_num) # 输出:3
print(type(int_num)) # 输出:<class 'int'>
2. float():转换为浮点数类型
float() 函数将一个数值或字符串转换为浮点数。如果无法转换,将抛出 ValueError 异常。
示例 1:将整数转换为浮点数
# 将整数 5 转换为浮点数
int_num = 5
float_num = float(int_num)
# 输出转换后的浮点数
print(float_num) # 输出:5.0
print(type(float_num)) # 输出:<class 'float'>
示例 2:将字符串转换为浮点数
# 将字符串 "3.14" 转换为浮点数
str_num = "3.14"
float_num = float(str_num)
# 输出转换后的浮点数
print(float_num) # 输出:3.14
print(type(float_num)) # 输出:<class 'float'>
3. str():转换为字符串类型
str() 函数将任何数据类型转换为字符串类型。
示例 1:将整数转换为字符串
# 将整数 123 转换为字符串
int_num = 123
str_num = str(int_num)
# 输出转换后的字符串
print(str_num) # 输出:"123"
print(type(str_num)) # 输出:<class 'str'>
示例 2:将浮点数转换为字符串
# 将浮点数 3.14 转换为字符串
float_num = 3.14
str_num = str(float_num)
# 输出转换后的字符串
print(str_num) # 输出:"3.14"
print(type(str_num)) # 输出:<class 'str'>
4. bool():转换为布尔值类型
bool() 函数将其他类型转换为布尔值。常见的规则是:
- 数值类型:
0转换为False,非0转换为True。 - 字符串类型:空字符串
""转换为False,非空字符串转换为True。 - 其他类型:
None转换为False,其他对象转换为True。
示例 1:将数字转换为布尔值
# 数字 0 转换为布尔值
num_zero = 0
bool_zero = bool(num_zero)
# 输出转换结果
print(bool_zero) # 输出:False
# 数字 10 转换为布尔值
num_ten = 10
bool_ten = bool(num_ten)
# 输出转换结果
print(bool_ten) # 输出:True
示例 2:将字符串转换为布尔值
# 空字符串转换为布尔值
empty_str = ""
bool_empty_str = bool(empty_str)
# 输出转换结果
print(bool_empty_str) # 输出:False
# 非空字符串转换为布尔值
non_empty_str = "Hello"
bool_non_empty_str = bool(non_empty_str)
# 输出转换结果
print(bool_non_empty_str) # 输出:True
代码说明
-
int()函数:用于将字符串、浮点数等类型转换为整数。对于浮点数,int()会去掉小数部分,而不进行四舍五入。 -
float()函数:用于将字符串、整数等类型转换为浮点数。如果输入字符串表示的是数字,则可以成功转换为浮点数,否则会抛出错误。 -
str()函数:将任何类型的对象转换为字符串,常用于打印输出时将其他数据类型变为字符串表示形式。 -
bool()函数:根据不同数据类型的真假值,返回True或False。例如,0、空字符串和None被视为False,其他所有值被视为True。
练习题
练习 1:将字符串 "2023" 转换为整数,并输出它加 1 的结果
答案:
str_num = "2023"
int_num = int(str_num)
print(int_num + 1) # 输出:2024
练习 2:将浮点数 56.78 转换为整数并输出
答案:
float_num = 56.78
int_num = int(float_num)
print(int_num) # 输出:56
练习 3:输入一个浮动的小数,转换为整数并输出
要求:
- 提示用户输入一个浮动的小数。
- 输出该小数转换为整数后的值。
答案:
num = float(input("请输入一个浮动的小数: "))
int_num = int(num)
print(f"转换为整数后的值是: {int_num}")
练习 4:将数字 0 转换为布尔值并输出
答案:
num = 0
bool_value = bool(num)
print(bool_value) # 输出:False
总结
在本篇文章中,我们介绍了 Python 中常见的数据类型转换方法,包括 int()、float()、str() 和 bool() 函数。这些函数使得在不同类型之间转换变得非常方便。掌握数据类型转换,可以帮助我们更灵活地处理用户输入、进行计算和展示结果。
评论区