📅  最后修改于: 2023-12-03 15:38:24.345000             🧑  作者: Mango
Python 是一种动态弱类型语言,在开发中,经常需要将一个变量的类型转换为另一个类型。本文将介绍 Python 中转换变量类型的方法。
变量类型为数字、布尔、列表、元组、字典等类型时,可以使用 str()
函数将其转换为字符串类型。
num = 1
str_num = str(num)
print(type(str_num), str_num) # <class 'str'> '1'
list_data = [1, 2, 3]
str_list_data = str(list_data)
print(type(str_list_data), str_list_data) # <class 'str'> '[1, 2, 3]'
dict_data = {"name": "John", "age": 26}
str_dict_data = str(dict_data)
print(type(str_dict_data), str_dict_data) # <class 'str'> "{'name': 'John', 'age': 26}"
当然,也可以使用字符串拼接的方式将不同类型转换成字符串类型。
num = 1
str_num = "num is " + str(num)
print(type(str_num), str_num) # <class 'str'> 'num is 1'
变量类型为字符串、浮点数等类型时,可以使用 int()
函数将其转换为整型类型。当字符串变量不能转换为整型时,会抛出 ValueError
异常。
num_str = "1"
int_num_str = int(num_str)
print(type(int_num_str), int_num_str) # <class 'int'> 1
float_num = 1.5
int_float_num = int(float_num)
print(type(int_float_num), int_float_num) # <class 'int'> 1
not_int_str = "abc"
try:
not_int_int = int(not_int_str)
except ValueError as ve:
print(f"Cann't convert {not_int_str} to int: {ve}")
# Cann't convert abc to int: invalid literal for int() with base 10: 'abc'
变量类型为整型、字符串等类型时,可以使用 float()
函数将其转换为浮点型类型。当字符串变量不能转换为浮点型时,会抛出 ValueError
异常。
int_num = 1
float_int_num = float(int_num)
print(type(float_int_num), float_int_num) # <class 'float'> 1.0
num_str = "1.5"
float_num_str = float(num_str)
print(type(float_num_str), float_num_str) # <class 'float'> 1.5
not_float_str = "abc"
try:
not_float_num = float(not_float_str)
except ValueError as ve:
print(f"Cann't convert {not_float_str} to float: {ve}")
# Cann't convert abc to float: could not convert string to float: 'abc'
在 Python 中,有一些值被认为是 False,如 False、None、0 或空序列([]、()、“”),其它任何值都被认为是 True。因此,可以使用 bool()
函数将其它类型转换为布尔型。
str_data = "abc"
bool_str_data = bool(str_data)
print(type(bool_str_data), bool_str_data) # <class 'bool'> True
empty_list = []
bool_empty_list = bool(empty_list)
print(type(bool_empty_list), bool_empty_list) # <class 'bool'> False
变量类型为元组、字符串等类型时,可以使用 list()
函数将其转换为列表类型。
tuple_data = (1, 2, 3)
list_tuple_data = list(tuple_data)
print(type(list_tuple_data), list_tuple_data) # <class 'list'> [1, 2, 3]
str_data = "abc"
list_str_data = list(str_data)
print(type(list_str_data), list_str_data) # <class 'list'> ['a', 'b', 'c']
变量类型为列表、字符串等类型时,可以使用 tuple()
函数将其转换为元组类型。
list_data = [1, 2, 3]
tuple_list_data = tuple(list_data)
print(type(tuple_list_data), tuple_list_data) # <class 'tuple'> (1, 2, 3)
str_data = "abc"
tuple_str_data = tuple(str_data)
print(type(tuple_str_data), tuple_str_data) # <class 'tuple'> ('a', 'b', 'c')
变量类型为列表、元组、字符串等类型时,可以使用 set()
函数将其转换为集合类型。
list_data = [1, 2, 3]
set_list_data = set(list_data)
print(type(set_list_data), set_list_data) # <class 'set'> {1, 2, 3}
tuple_data = (1, 2, 2, 3)
set_tuple_data = set(tuple_data)
print(type(set_tuple_data), set_tuple_data) # <class 'set'> {1, 2, 3}
str_data = "abc"
set_str_data = set(str_data)
print(type(set_str_data), set_str_data) # <class 'set'> {'a', 'b', 'c'}
变量类型为列表、元组等类型时,可以使用 zip()
函数将其转换为字典类型。
keys = ["name", "age", "gender"]
values = ["John", 26, "male"]
dict_data = dict(zip(keys, values))
print(type(dict_data), dict_data) # <class 'dict'> {'name': 'John', 'age': 26, 'gender': 'male'}
本文介绍了 Python 中转换变量类型的方法,包括转为字符串(str)、整型(int)、浮点型(float)、布尔型(bool)、列表(list)、元组(tuple)、集合(set)、字典(dict)等。为了确保程序的稳定性,建议在类型转换时使用异常处理。