前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python-数据类型转换

Python-数据类型转换

作者头像
用户9006224
发布2023-10-11 18:55:07
1610
发布2023-10-11 18:55:07
举报
文章被收录于专栏:cjz的专栏cjz的专栏

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

  1. 整数和浮点数转换:
  • int(x, base=10): 将给定的参数x转换为整数。x可以是一个整数、浮点数或字符串。如果x是字符串,则可以提供base参数指定字符串的进制,默认为十进制
代码语言:javascript
复制
# 示例案例 - int()
num_int = int(42.8)  # 输出:42,将浮点数转换为整数,小数部分被截断
num_int_base = int('1010', 2)  # 输出:10,将二进制字符串转换为整数
  • float(x): 将给定的参数x转换为浮点数。x可以是一个整数、浮点数或字符串
代码语言:javascript
复制
# 示例案例 - float()
num_float = float(42)  # 输出:42.0,将整数转换为浮点数
num_float_str = float('3.14')  # 输出:3.14,将字符串转换为浮点数
  1. 字符串和整数/浮点数转换:
  • int(s, base=10): 将字符串s转换为整数。base参数用于指定字符串的进制(默认为十进制)
代码语言:javascript
复制
# 示例案例 - int()
str_num = "123"
num_int = int(str_num)  # 输出:123,将字符串转换为整数

str_hex = "1A"
num_hex = int(str_hex, 16)  # 输出:26,将十六进制字符串转换为整数
  • float(s): 将字符串s转换为浮点数。
代码语言:javascript
复制
# 示例案例 - float()
str_float = "3.14"
num_float = float(str_float)  # 输出:3.14,将字符串转换为浮点数
  1. 列表、元组和集合转换:
  • list(iterable): 将可迭代对象iterable(如列表、元组等)转换为列表
代码语言:javascript
复制
# 示例案例 - 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转换为元组
代码语言:javascript
复制
# 示例案例 - tuple()
list_data = [1, 2, 3]
tuple_data = tuple(list_data)  # 输出:(1, 2, 3),将列表转换为元组
  • set(iterable): 将可迭代对象iterable转换为集合,去除重复项
代码语言:javascript
复制
# 示例案例 - set()
list_data = [1, 2, 2, 3, 3, 3]
set_data = set(list_data)  # 输出:{1, 2, 3},将列表转换为集合并去除重复项
  1. 字符串和字节转换:
  • str.encode(encoding='utf-8', errors='strict'): 将字符串转换为字节对象,使用指定的字符编码(默认为UTF-8)
代码语言:javascript
复制
# 示例案例 - 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)
代码语言:javascript
复制
# 示例案例 - bytes.decode()
bytes_data = b'Hello, World!'
str_data = bytes_data.decode('utf-8')  # 输出:"Hello, World!",将字节对象转换为字符串
  1. 布尔值转换:
  • bool(x): 将给定的参数x转换为布尔值。任何非零整数、非空容器(如非空字符串、非空列表等)都将转换为True,而零整数、空容器(如空字符串、空列表等)将转换为False
代码语言:javascript
复制
# 示例案例 - bool()
num = 42
bool_value = bool(num)  # 输出:True,将非零整数转换为布尔值

empty_list = []
bool_value = bool(empty_list)  # 输出:False,将空列表转换为布尔值
  1. 其他数据类型转换:
  • eval(expression, globals=None, locals=None): 将字符串expression作为Python表达式进行求值,并返回结果。这个方法可能会带来潜在的安全风险,因为它可以执行任意的Python代码。谨慎使用,尤其是当字符串来自不受信任的来源时
代码语言:javascript
复制
# 示例案例 - 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()方法的潜在安全问题
代码语言:javascript
复制
import ast

# 示例案例 - ast.literal_eval()
str_dict = "{'name': 'John', 'age': 30}"
dict_data = ast.literal_eval(str_dict)  # 输出:{'name': 'John', 'age': 30},安全地将字符串转换为字典

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-08-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档