Python数据类型相互转换

 更新时间:2023年09月04日 10:03:38   作者:常家壮  
当涉及数据类型转换时,Python提供了多种内置函数来执行不同类型之间的转换,本文主要介绍了Python数据类型相互转换,具有一定的参考价值,感兴趣的可以了解一下

当涉及数据类型转换时,Python提供了多种内置函数来执行不同类型之间的转换
以下是每个方法的详细说明和示例案例

  • 整数和浮点数转换:
  • int(x, base=10): 将给定的参数x转换为整数。x可以是一个整数、浮点数或字符串。如果x是字符串,则可以提供base参数指定字符串的进制,默认为十进制
# 示例案例 - int()
num_int = int(42.8)  # 输出:42,将浮点数转换为整数,小数部分被截断
num_int_base = int('1010', 2)  # 输出:10,将二进制字符串转换为整数
  • float(x): 将给定的参数x转换为浮点数。x可以是一个整数、浮点数或字符串
# 示例案例 - float()
num_float = float(42)  # 输出:42.0,将整数转换为浮点数
num_float_str = float('3.14')  # 输出:3.14,将字符串转换为浮点数
  • 字符串和整数/浮点数转换:
  • int(s, base=10): 将字符串s转换为整数。base参数用于指定字符串的进制(默认为十进制)
# 示例案例 - int()
str_num = "123"
num_int = int(str_num)  # 输出:123,将字符串转换为整数
str_hex = "1A"
num_hex = int(str_hex, 16)  # 输出:26,将十六进制字符串转换为整数
  • float(s): 将字符串s转换为浮点数。
# 示例案例 - float()
str_float = "3.14"
num_float = float(str_float)  # 输出:3.14,将字符串转换为浮点数
  • 列表、元组和集合转换:
  • list(iterable): 将可迭代对象iterable(如列表、元组等)转换为列表
# 示例案例 - list()
tuple_data = (1, 2, 3)
list_data = list(tuple_data)  # 输出:[1, 2, 3],将元组转换为列表
set_data = {4, 5, 6}
list_data_from_set = list(set_data)  # 输出:[4, 5, 6],将集合转换为列表
  • tuple(iterable): 将可迭代对象iterable转换为元组
# 示例案例 - tuple()
list_data = [1, 2, 3]
tuple_data = tuple(list_data)  # 输出:(1, 2, 3),将列表转换为元组
  • set(iterable): 将可迭代对象iterable转换为集合,去除重复项
# 示例案例 - set()
list_data = [1, 2, 2, 3, 3, 3]
set_data = set(list_data)  # 输出:{1, 2, 3},将列表转换为集合并去除重复项
  • 字符串和字节转换:
  • str.encode(encoding='utf-8', errors='strict'): 将字符串转换为字节对象,使用指定的字符编码(默认为UTF-8)
# 示例案例 - str.encode()
str_data = "Hello, World!"
bytes_data = str_data.encode('utf-8')  # 输出:b'Hello, World!',将字符串转换为字节对象
  • bytes.decode(encoding='utf-8', errors='strict'): 将字节对象转换为字符串,使用指定的字符编码(默认为UTF-8)
# 示例案例 - bytes.decode()
bytes_data = b'Hello, World!'
str_data = bytes_data.decode('utf-8')  # 输出:"Hello, World!",将字节对象转换为字符串
  • 布尔值转换:
  • bool(x): 将给定的参数x转换为布尔值。任何非零整数、非空容器(如非空字符串、非空列表等)都将转换为True,而零整数、空容器(如空字符串、空列表等)将转换为False
# 示例案例 - bool()
num = 42
bool_value = bool(num)  # 输出:True,将非零整数转换为布尔值
empty_list = []
bool_value = bool(empty_list)  # 输出:False,将空列表转换为布尔值
  • 其他数据类型转换:
  • eval(expression, globals=None, locals=None): 将字符串expression作为Python表达式进行求值,并返回结果。这个方法可能会带来潜在的安全风险,因为它可以执行任意的Python代码。谨慎使用,尤其是当字符串来自不受信任的来源时
# 示例案例 - eval()
str_list = "[1, 2, 3]"
list_data = eval(str_list)  # 输出:[1, 2, 3],将字符串作为Python表达式求值并转换为列表
  • ast.literal_eval(node_or_string): 将字符串node_or_string安全地解析为Python字面值表达式,返回对应的Python对象。这个方法用于安全地将字符串转换为Python对象,避免了eval()方法的潜在安全问题
import ast
# 示例案例 - ast.literal_eval()
str_dict = "{'name': 'John', 'age': 30}"
dict_data = ast.literal_eval(str_dict)  # 输出:{'name': 'John', 'age': 30},安全地将字符串转换为字典

以上是常见的Python数据类型转换方法。在进行数据处理和用户输入处理时,务必选择合适的转换方式,以避免潜在的错误

到此这篇关于Python数据类型相互转换的文章就介绍到这了,更多相关Python数据类型转换内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python使用pandas按照行数分割表格

    python使用pandas按照行数分割表格

    本文主要介绍了python使用pandas按照行数分割表格,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • PyTorch中常用的激活函数的方法示例

    PyTorch中常用的激活函数的方法示例

    这篇文章主要介绍了PyTorch中常用的激活函数的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • Python中的变量和数据类型详情

    Python中的变量和数据类型详情

    这篇文章主要介绍了Python中的变量和数据类型详情,变量不需要声明即可使用,向变量赋值即定义变量,python中的数据类型包括数值类型、列表、元组等内容,下面文章的详细介绍,需要的小伙伴可以参考一下
    2022-03-03
  • 解决pandas报错'DataFrame' object has no attribute 'as_matrix'问题

    解决pandas报错'DataFrame' object has no

    这篇文章主要介绍了解决pandas报错'DataFrame' object has no attribute 'as_matrix'问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Python socket模块实现的udp通信功能示例

    Python socket模块实现的udp通信功能示例

    这篇文章主要介绍了Python socket模块实现的udp通信功能,结合具体实例形式分析了Python使用socket模块实现UDP通信客户端与服务器端相关实现技巧,需要的朋友可以参考下
    2019-04-04
  • Pyspark获取并处理RDD数据代码实例

    Pyspark获取并处理RDD数据代码实例

    这篇文章主要介绍了Pyspark获取并处理RDD数据代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • Python使用虚拟环境(安装下载更新卸载)命令

    Python使用虚拟环境(安装下载更新卸载)命令

    这篇文章主要为大家介绍了Python使用虚拟环境(安装下载更新卸载)命令,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • pycharm打开命令行或Terminal的方法

    pycharm打开命令行或Terminal的方法

    今天小编就为大家分享一篇pycharm打开命令行或Terminal的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • 关于Python数据结构中字典的心得

    关于Python数据结构中字典的心得

    给大家详细简介了Python数据结构中字典的方法和使用心得,学习一下吧 ,有助于你更好的理解Python数据结构。
    2017-12-12
  • pandas的Series类型与基本操作详解

    pandas的Series类型与基本操作详解

    这篇文章主要介绍了pandas的Series类型与基本操作详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03

最新评论