Python3 数据类型转换

Python3 数据类型转换完全指南

Python3 数据类型转换完全指南

专为编程小白设计 • 大白话讲解 • 详细示例说明

在Python编程中,数据类型转换就像在不同语言之间进行翻译。想象你有一个数字123,但你需要把它变成文字”123″,这就是转换!

本指南将用最简单易懂的方式,详细解释Python中各种数据类型之间如何相互转换,并附上实际例子和注意事项。

🔢 数字类型转换

int() – 转换成整数

把其他类型的数据转换成整数(不带小数点的数字)

# 将字符串转换为整数
num_str = “123”
num_int = int(num_str) # 结果是 123

# 将浮点数转换为整数(直接去掉小数部分)
num_float = 12.9
num_int = int(num_float) # 结果是 12

# 布尔值转换
true_val = int(True) # 结果是 1
false_val = int(False) # 结果是 0
注意: 不能直接把包含字母的字符串转换成整数,比如 int(“hello”) 会报错!

float() – 转换成浮点数

把其他类型的数据转换成带小数点的数字

# 将字符串转换为浮点数
num_str = “12.34”
num_float = float(num_str) # 结果是 12.34

# 将整数转换为浮点数
num_int = 100
num_float = float(num_int) # 结果是 100.0

# 布尔值转换
true_val = float(True) # 结果是 1.0
false_val = float(False) # 结果是 0.0

🔤 字符串转换

str() – 转换成字符串

把任何类型的数据转换成文本(字符串)

# 将数字转换为字符串
num_int = 123
num_str = str(num_int) # 结果是 “123”

# 将浮点数转换为字符串
num_float = 3.14
num_str = str(num_float) # 结果是 “3.14”

# 将布尔值转换为字符串
bool_val = True
bool_str = str(bool_val) # 结果是 “True”

# 将列表转换为字符串
my_list = [1, 2, 3]
list_str = str(my_list) # 结果是 “[1, 2, 3]”
注意: str()转换不会改变数据本身的内容,只是换了一种表现形式

eval() – 字符串转代码

将字符串当作Python代码执行(谨慎使用!)

# 基本用法
expression = “3 * 5 + 2”
result = eval(expression) # 结果是 17

# 字符串转列表
list_str = “[1, 2, ‘apple’]”
my_list = eval(list_str) # 结果是 [1, 2, ‘apple’]
安全警告: eval()会执行任何字符串代码,可能带来安全风险,不要用在用户输入的字符串上!

📋 列表、元组、集合转换

list() – 转换成列表

把其他可迭代类型转换成列表(可变的有序集合)

# 字符串转列表(每个字符变成列表元素)
text = “hello”
list_text = list(text) # 结果: [‘h’, ‘e’, ‘l’, ‘l’, ‘o’]

# 元组转列表
my_tuple = (1, 2, 3)
my_list = list(my_tuple) # 结果: [1, 2, 3]

# 集合转列表
my_set = {4, 5, 6}
my_list = list(my_set) # 结果: [4, 5, 6](顺序可能不同)

tuple() – 转换成元组

把其他可迭代类型转换成元组(不可变的有序集合)

# 列表转元组
my_list = [1, 2, 3]
my_tuple = tuple(my_list) # 结果: (1, 2, 3)

# 字符串转元组
text = “abc”
tuple_text = tuple(text) # 结果: (‘a’, ‘b’, ‘c’)

# 字典转元组(只转换键)
my_dict = {‘a’: 1, ‘b’: 2}
dict_tuple = tuple(my_dict) # 结果: (‘a’, ‘b’)

set() – 转换成集合

把其他可迭代类型转换成集合(无序且不重复)

# 列表转集合(自动去重)
my_list = [1, 2, 2, 3, 3, 3]
my_set = set(my_list) # 结果: {1, 2, 3}

# 字符串转集合
text = “hello”
set_text = set(text) # 结果: {‘h’, ‘e’, ‘l’, ‘o’}(只有一个’l’)

📚 字典转换

dict() – 创建字典

从键值对序列创建字典(键值对集合)

# 从元组列表创建
tuple_list = [(‘a’, 1), (‘b’, 2), (‘c’, 3)]
my_dict = dict(tuple_list) # 结果: {‘a’: 1, ‘b’: 2, ‘c’: 3}

# 从键值对创建
my_dict = dict(a=1, b=2, c=3) # 结果同上

# 从两个列表创建(使用zip)
keys = [‘name’, ‘age’, ‘city’]
values = [‘Alice’, 30, ‘New York’]
my_dict = dict(zip(keys, values)) # 结果: {‘name’: ‘Alice’, ‘age’: 30, ‘city’: ‘New York’}
注意: 字典的键必须是不可变类型(字符串、数字、元组等)

🔄 数据类型转换表

原始类型 目标类型 转换函数 注意事项
整数(int) 字符串(str) str() 直接转换
浮点数(float) 字符串(str) str() 保留小数
字符串(str) 整数(int) int() 必须只含数字
字符串(str) 浮点数(float) float() 支持小数
列表(list) 元组(tuple) tuple() 顺序不变
元组(tuple) 列表(list) list() 顺序不变
列表/元组 集合(set) set() 自动去重
字典(dict) 列表(list) list(dict) 只获取键
字典(dict) 元组(tuple) tuple(dict) 只获取键

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部