当前位置: 首页 > ai >正文

python---类型转换

文章目录

  • 1. 基本类型转换函数
    • int() - 转换为整数
    • float() - 转换为浮点数
    • str() - 转换为字符串
    • bool() - 转换为布尔值
  • 2. 其他类型转换
    • list() - 转换为列表
    • tuple() - 转换为元组
    • set() - 转换为集合(去重)
    • dict() - 转换为字典
  • 3. 注意事项
    • 1. 兼容性:转换必须逻辑合理,否则会报错。
    • 2. 进制转换:int() 支持字符串的进制转换。
    • 3. 隐式类型转换:Python 在某些操作中会自动转换类型(如整数和浮点数运算时转为浮点)。

在 Python 中,类型转换(Type Conversion)是指将一种数据类型转换为另一种数据类型。Python 提供了内置函数来实现常见的类型转换操作。

1. 基本类型转换函数

int() - 转换为整数

强制转换可以直接得到复数。

x = int(3.9)     # 浮点数转整数(截断小数部分)→ 3
y = int("123")   # 字符串转整数 → 123
z = int(True)    # 布尔值转整数 → 1
w = int('+10')
h = int('-10')

float() - 转换为浮点数

x = float(3)      # 整数转浮点数 → 3.0
y = float("3.14") # 字符串转浮点数 → 3.14
z = float(False)  # 布尔值转浮点数 → 0.0

str() - 转换为字符串

x = str(123)      # 整数转字符串 → "123"
y = str(3.14)     # 浮点数转字符串 → "3.14"
z = str(True)     # 布尔值转字符串 → "True"

bool() - 转换为布尔值

1、非零数字、非空字符串/列表/字典等会转换为 True。

2、0、“”、[]、None 等会转换为 False。

x = bool(1)       # True
y = bool(0)       # False
z = bool("Hello") # True
w = bool("")      # False

2. 其他类型转换

list() - 转换为列表

list(dict),强制转换字典,默认转换键名为列表的值。

x = list("abc")       # 字符串转列表 → ['a', 'b', 'c']
y = list((1, 2, 3))   # 元组转列表 → [1, 2, 3]

tuple() - 转换为元组

x = tuple([1, 2, 3])  # 列表转元组 → (1, 2, 3)

set() - 转换为集合(去重)

先去重再转换

x = set([1, 2, 2, 3]) # 列表转集合 → {1, 2, 3}

dict() - 转换为字典

x = dict([("a", 1), ("b", 2)])  # 列表(键值对元组)转字典 → {'a': 1, 'b': 2}

3. 注意事项

1. 兼容性:转换必须逻辑合理,否则会报错。

int("3.14")   # ❌ 错误,需先转 float 再转 int
int(float("3.14"))  # ✅ 先转浮点再转整数 → 3

2. 进制转换:int() 支持字符串的进制转换。

int("1010", 2)  # 二进制字符串转整数 → 10
int("FF", 16)    # 十六进制字符串转整数 → 255

3. 隐式类型转换:Python 在某些操作中会自动转换类型(如整数和浮点数运算时转为浮点)。

x = 3 + 4.5  # 结果为 7.5(float)
http://www.xdnf.cn/news/16329.html

相关文章:

  • Flink窗口:解锁流计算的秘密武器
  • 9.SpringBoot Web请求参数绑定方法
  • RTSP|RTMP播放器 in Unity:开源不够用?从工程视角重新定义播放器选型
  • 【优选算法】BFS解决最短路问题(单源)
  • LeetCode 1577.数的平方等于两数乘积的方法数
  • Spring 解析 XML 配置文件的过程(从读取 XML 到生成 BeanDefinition)
  • HarmonyOS NEXT 系列之规范开发三方共享包
  • Java学习-------序列化与反序列化
  • MGRE综合实验
  • 【Linux | 网络】传输层(UDP和TCP)
  • 笔记本键盘的启用和禁用
  • Rust实战:高效开发技巧
  • 强连通分量:Kosaraju算法
  • 使用Python绘制动态樱花
  • CentOS 镜像源配置与 EOL 后的应对策略
  • 【C++篇】STL的关联容器:unordered_map和unordered_set(上篇):哈希表的模拟实现
  • Triton Shared编译
  • Linux网络-------2.应⽤层⾃定义协议与序列化
  • 大模型算法面试笔记——常用优化器SGD,Momentum,Adagrad,RMSProp,Adam
  • Spring MVC设计精粹:源码级架构解析与实践指南
  • AI Coding IDE 介绍:Cursor 的入门指南
  • 深度学习计算(深度学习-李沐-学习笔记)
  • Python 程序设计讲义(23):循环结构——循环控制语句 break 与 continue
  • 【笔记】Einstein关系式 D = ukBT 的推导与应用研究
  • 【自动化运维神器Ansible】Ansible常用模块之hostname模块详解
  • Java面试实战:企业级性能优化与JVM调优全解析
  • 【编号444】雅鲁藏布江(上中下)游8级水系湖泊数据合集
  • cacti漏洞CVE-2022-46169的复现
  • Java:采用mybatis+pagehealper优雅的实现分页功能
  • 如何筛选适合自己阅读的文献?高效文献调研流程?