Python 类型转换详解

文章目录

  • Python 类型转换详解
    • 基本类型转换函数
      • 1. 转换为整数 (`int()`)
      • 2. 转换为浮点数 (`float()`)
      • 3. 转换为字符串 (`str()`)
      • 4. 转换为布尔值 (`bool()`)
    • 容器类型转换
      • 1. 转换为列表 (`list()`)
      • 2. 转换为元组 (`tuple()`)
      • 3. 转换为集合 (`set()`)
      • 4. 转换为字典 (`dict()`)
    • 特殊类型转换
      • 1. ASCII码转换
      • 2. 进制转换
    • 类型转换注意事项

Python 类型转换详解

类型转换是将一个数据类型的值转换为另一个数据类型的过程。Python提供了多种内置函数来实现不同类型之间的转换。

基本类型转换函数

1. 转换为整数 (int())

int(3.14)       # 浮点转整数 → 3
int("100")      # 字符串转整数 → 100
int(True)       # 布尔转整数 → 1
int("1010", 2)  # 二进制字符串转整数 → 10

2. 转换为浮点数 (float())

float(10)       # 整数转浮点 → 10.0
float("3.14")   # 字符串转浮点 → 3.14
float(True)     # 布尔转浮点 → 1.0

3. 转换为字符串 (str())

str(100)        # 整数转字符串 → "100"
str(3.14)       # 浮点转字符串 → "3.14"
str(True)       # 布尔转字符串 → "True"

4. 转换为布尔值 (bool())

bool(0)         # → False
bool(1)         # → True
bool("")        # 空字符串 → False
bool("Hello")   # 非空字符串 → True
bool([])        # 空列表 → False
bool([1, 2])    # 非空列表 → True

容器类型转换

1. 转换为列表 (list())

list("abc")     # 字符串转列表 → ['a', 'b', 'c']
list((1, 2, 3)) # 元组转列表 → [1, 2, 3]
list({1, 2, 3}) # 集合转列表 → [1, 2, 3]

2. 转换为元组 (tuple())

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

3. 转换为集合 (set())

set([1, 2, 2, 3])   # 列表转集合 → {1, 2, 3}
set("hello")        # 字符串转集合 → {'h', 'e', 'l', 'o'}

4. 转换为字典 (dict())

dict([(1, 'a'), (2, 'b')])  # 元组列表转字典 → {1: 'a', 2: 'b'}
dict(zip([1, 2], ['a', 'b']))  # zip对象转字典 → {1: 'a', 2: 'b'}

特殊类型转换

1. ASCII码转换

ord('A')        # 字符转ASCII码 → 65
chr(65)         # ASCII码转字符 → 'A'

2. 进制转换

hex(255)        # 转十六进制字符串 → '0xff'
oct(64)         # 转八进制字符串 → '0o100'
bin(10)         # 转二进制字符串 → '0b1010'

类型转换注意事项

  1. 兼容性检查:转换前应确保数据可以合法转换

    int("123abc")  # 会引发 ValueError
    
  2. 精度损失:浮点转整数会截断小数部分

    int(3.99)  # → 3 (不是四舍五入)
    
  3. 隐式转换:某些操作会自动进行类型转换

    3 + 4.5  # 整数3自动转为浮点数 → 7.5
    
  4. 容器转换特性

    • 字典转列表/元组/集合时,只会保留键
    • 集合转换会去除重复元素

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/77546.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python Requests 库详解】

目录 简介一、安装与导入安装导入 二、发送 HTTP 请求1. GET 请求基本请求URL 参数 2. POST 请求表单数据提交JSON 数据提交文件上传 3. 其他方法PUT 请求示例DELETE 请求示例 三、处理响应1. 响应内容解析文本内容处理二进制内容处理JSON 数据处理 2. 响应状态与头信息状态码检…

【Python 开源】你的 Windows 关机助手——PyQt5 版定时关机工具

🖥️ 你的 Windows 关机助手——PyQt5 版定时关机工具 相关资源文件已经打包成EXE文件,可双击直接运行程序,且文章末尾已附上相关源码,以供大家学习交流,博主主页还有更多Python相关程序案例,秉着开源精神的…

【MySQL】002.MySQL数据库基础

文章目录 数据库基础1.1 什么是数据库1.2 基本使用创建数据库创建数据表表中插入数据查询表中的数据 1.3 主流数据库1.4 服务器,数据库,表关系1.5 MySQL架构1.6 SQL分类1.7 存储引擎1.7.1 存储引擎1.7.2 查看存储引擎1.7.3 存储引擎对比 前言&#xff1a…

滑动窗口(3)—无重复字符的最长子串

文章目录 题目解析方法一:滑动窗口解法二(暴⼒求解)(不会超时,可以通过):附Java代码 力扣题目:无重复字符的最长子串 题目解析 方法一:滑动窗口 思路和算法 我们先用一…

C++字符串操作详解

引言 字符串处理是编程中最常见的任务之一,而在C中,我们有多种处理字符串的方式。本文将详细介绍C中的字符串操作,包括C风格字符串和C的string类。无论你是C新手还是想巩固基础的老手,这篇文章都能帮你梳理字符串处理的关键知识点…

Vulhub-DC-4靶场通关攻略

下载地址:https://www.vulnhub.com/entry/dc-4,313/ 扫描IP地址 arp-sacn -l扫描端口,开启了80和22端口 nmap -p- 192.168.112.140访问80端口 扫描目录,并没有发现敏感目录 尝试爆破 爆破成功,用户名admin 密码happy 登录成功 …

OfficePlus去掉PDF文件右键菜单里的PDF转换

今天在吾爱破解论坛看到一个求助帖,说是OfficePlus,安装后,PDF文件的右键菜单里多了PDF转换,想去掉,不知道怎么弄。底下的回复基本都是百度复制或者AI搜索出的答案,大致就是找注册表里CLASSID下的菜单栏相关…

大模型本地部署系列(3) Ollama部署QwQ[阿里云通义千问]

大家好,我是AI研究者, 今天教大家部署 一个阿里云通义千问大模型。 QwQ大模型简介 QwQ是由阿里云通义千问(Qwen)团队推出的开源推理大模型,专注于提升AI在数学、编程和复杂逻辑推理方面的能力。其核心特点包括&#x…

微信小程序学习实录12:掌握大数据量轨迹展示的MySQL结构设计

获取经纬度信息后,mysql建立数据表po_trajectory,字段包含tra_id、longitude、latitude、tra_time和openid。 为微信小程序创建的 po_trajectory 数据表,字段包含 tra_id、longitude、latitude、tra_time 和 openid,从结构设计上…

计算机系统---性能指标(3)续航与散热

计算机电池续航的性能指标 一、电池基础物理指标 电池容量(核心指标) 单位: 毫安时(mAh):常见于手机/平板,反映电池存储电荷量,需结合电压计算实际能量(如3.7V电池&…

贪心算法之最小生成树问题

1. 贪心算法的基本思想 贪心算法在每一步都选择局部最优的边,希望最终得到整体最优的生成树。常见的两种 MST 算法为 Kruskal 算法 和 Prim 算法。这两者均满足贪心选择性质和最优子结构性质,即: 贪心选择性质:局部最优选择&…

LeetCode hot 100—编辑距离

题目 给你两个单词 word1 和 word2, 请返回将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作: 插入一个字符删除一个字符替换一个字符 示例 示例 1: 输入:word1 "horse", word2 &q…

2.3 Spark运行架构与流程

Spark运行架构与流程包括几个核心概念:Driver负责提交应用并初始化作业,Executor在工作节点上执行任务,作业是一系列计算任务,任务是作业的基本执行单元,阶段是一组并行任务。Spark支持多种运行模式,包括单…

NO.82十六届蓝桥杯备战|动态规划-从记忆化搜索到动态规划|下楼梯|数字三角形(C++)

记忆化搜索 在搜索的过程中,如果搜索树中有很多重复的结点,此时可以通过⼀个"备忘录",记录第⼀次搜索到的结果。当下⼀次搜索到这个结点时,直接在"备忘录"⾥⾯找结果。其中,搜索树中的⼀个⼀个结点…

使用 VBA 宏创建一个选择全部word图片快捷指令,进行图片格式编辑

使用 VBA 宏批量选择图片 ✅ 第一步:创建 .dotm 加载项文件 1、使用环境 office word 365,文件格式为.docx 图片格式为.PNG 2、创建 .dotm 加载项文件 打开 Word,新建一个空白文档。 按下 Alt F11 打开 VBA 编辑器。 点击菜单栏&#xff…

深度学习的下一个突破:从图像识别到情境理解

引言 过去十年,深度学习在图像识别领域取得了惊人的突破。从2012年ImageNet大赛上的AlexNet,到后来的ResNet、EfficientNet,再到近年来Transformer架构的崛起,AI已经能在许多任务上超越人类,比如人脸识别、目标检测、医…

使用dyn4j做碰撞检测

文章目录 前言一、环境准备添加依赖基本概念 二、实现步骤1.创建世界2.添加物体3.设置碰撞监听器4.更新世界 三、完整代码示例四、优化补充总结 前言 dyn4j 提供了高效的碰撞检测和物理模拟功能,适用于游戏开发、动画制作以及其他需要物理交互的场景。通过简单的 A…

VS Code settings.json 文件中常用的预定义变量‌及其用途说明

VS Code settings.json 常用预定义变量 以下是 Visual Studio Code 配置文件中常用的预定义变量列表: 1. 工作区相关变量 变量描述示例值${workspaceFolder}当前工作区根目录的绝对路径C:/projects/my-project${workspaceFolderBasename}工作区文件夹名称&#x…

elasticSearch-搜索引擎

搜索引擎的优势 有了数据库分页查询,为什么还需要搜索引擎? 搜索引擎速度上很快数据库分页查询,随着数据库数据量增大,页数靠后,会导致搜索速度变慢,但是搜索引擎不会搜索引擎支持分词查询,地…

安装OpenJDK1.8 17 (macos M芯片)

安装OpenJDK 1.8 下载完后,解压,打开 环境变量的配置文件即可 vim ~/.zshrc #export JAVA_HOME/Users/xxxxx/jdk-21.jdk/Contents/Home #export JAVA_HOME/Users/xxxxx/jdk-17.jdk/Contents/Home #export JAVA_HOME/Users/xxxxx/jdk-11.jdk/Contents…