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提供了多种内置函数来执行不同类型之间的转换 以下是每个方法的详细说明和示例案例 整数和浮点数转换: int(x, base10): 将给定的参数x转换为整数。x可以是一个整数、浮点数或字符串。如果x是字符串,则可以提供…...

DASCTF 2023 0X401七月暑期挑战赛 Web方向 EzFlask ez_cms MyPicDisk 详细题解wp
EzFlask 源码直接给了 CtrlU查看带缩进的源码 import uuidfrom flask import Flask, request, session # 导入黑名单列表 from secret import black_list import jsonapp Flask(__name__) # 为 Flask 应用设置一个随机的 secret_key app.secret_key str(uuid.uuid4())# 检查…...

数据结构-链表
🗡CSDN主页:d1ff1cult.🗡 🗡代码云仓库:d1ff1cult.🗡 🗡文章栏目:数据结构专栏🗡 目录 目录 代码总览: 接口slist.h: slist.c: 1.什么是链表 1.1链…...

大数据Flink(五十五):Flink架构体系
文章目录 Flink架构体系 一、 Flink中的重要角色 二、Flink数据流编程模型 三、Libraries支持...
使用矢量数据库打造全新的搜索引擎
在技术层面上,矢量数据库采用了一种名为“矢量索引”的技术,这是一种组织和搜索矢量数据的方法,可以快速找到相似矢量。其中关键的一环是“距离函数”的概念,它可以衡量两个矢量的相似程度。 1.矢量数据库简介 矢量数据库是专门…...

算法提高-树状数组
算法提高-树状数组 241. 楼兰图腾(区间求和 单点修改)242. 一个简单的整数问题(差分推公式 实现 维护区间修改单点求和)243. 一个简单的整数问题2(区间修改和区间求和)AcWing 244. 谜一样的牛(…...
Django ORM详解:最全面的数据库处理指南
概要 深度探讨Django ORM的概念、基础使用、进阶操作以及详细解析在实际使用中如何处理数据库操作。这篇文章旨在帮助大家全面掌握Django ORM,理解其如何简化数据库操作,并透过表象理解其内部工作原理。 Django ORM简介 在深入讨论Django的ORMÿ…...

Istio 安全 授权管理AuthorizationPolicy
这个和cka考试里面的网络策略是类似的。它是可以实现更加细颗粒度限制的。 本质其实就是设置谁可以访问,谁不可以访问。默认命名空间是没有AuthorizationPolicy---允许所有的客户端访问。 这里是没有指定应用到谁上面去,有没有指定使用哪些客户端&#…...

04 Ubuntu中的中文输入法的安装
在Ubuntu22.04这种版本相对较高的系统中安装中文输入法,一般推荐使用fctix5,相比于其他的输入法,这款输入法的推荐词要好得多,而且不会像ibus一样莫名其妙地失灵。 首先感谢文章《滑动验证页面》,我是根据这篇文章的教…...

faac内存开销较大,为方便嵌入式设备使用进行优化(valgrind使用)
faac内存开销较大,为方便嵌入式设备使用进行优化,在github上提了issues但是没人理我,所以就搞一份代码自己玩吧。 基于faac_1_30版本,原工程https://github.com/knik0/faac faac内存优化: faac内存开销较大,为方便嵌入…...
分数线划定(c++题解)
题目描述 世博会志愿者的选拔工作正在 A 市如火如荼的进行。为了选拔最合适的人才,A 市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根据计划录取人数的 150% 划定,即如果计划录取 m 名志愿者…...

React 在 html 中 CDN 引入(包含 antd、axios ....)
一、简介 cdn 获取推荐 https://unpkg.com,unpkg 是一个快速的全球内容交付网络,适用于 npm 上所有内容。 【必备】react 相关 cdn。附:github 官方文档获取、现阶段官方文档 CDN 网址。 <script crossorigin src"https://unpkg.com…...
数据结构----异或
数据结构----异或 一.何处用到了异或 1. 运算符 //判断是否相同 用到了异或,看异或结果如果是0就是相同,不是0就是不同//注意: 不能给小数用,小数没有相等的概念,所以小数判断是否相同都是进行相减判断2.找一堆数中…...
PHP Smarty模板的语法规则是怎样的?
首先,你要知道Smarty模板是以模板格式来编写的。模板格式类似于HTML,但它的语法更加简洁明了。 以下是PHP Smarty模板的语法规则和代码例子: 变量:在Smarty模板中,你可以使用变量来显示动态内容。变量通常以“{$”符…...

Socks IP轮换:为什么是数据挖掘和Web爬取的最佳选择?
在数据挖掘和Web爬取的过程中,IP轮换是一个非常重要的概念。数据挖掘和Web爬取需要从多个网站或来源获取数据,而这些网站通常会对来自同一IP地址的请求进行限制或封锁。为了避免这些问题,数据挖掘和Web爬取过程中需要使用Socks IP轮换技术。在…...

优化|当机器学习上运筹学:PyEPO与端对端预测后优化
分享者:唐博 编者按: 这篇文章我想要写已经很久了,毕竟“端对端预测后优化”(End-to-End Predict-then-Optimize)正是我读博期间的主要研究方向,但我又一直迟迟没能下笔。想说自己杂事缠身(实…...

Cocos Creator的 Cannot read property ‘applyForce‘ of undefined报错
序: 1、博主是看了这个教程操作的时候出的bug>游戏开发 | 17节课学会如何用Cocos Creator制作3D跑酷游戏 | P9 代码控制对象移动_哔哩哔哩_bilibili 2、其实问题不是出在代码上,但是发现物体就是不平移 3、node全栈的资料》node全栈框架 正文…...

纯css实现九宫格图片
本篇文章所分享的内容主要涉及到结构伪类选择器,不熟悉的小伙伴可以了解一下,在常用的css选择器中我也有分享相关内容。 话不多说,接下来我们直接上代码: <!DOCTYPE html> <html lang"en"><head>&l…...

【MySQL】数据库的增删查改+备份与恢复
文章目录 一、创建数据库create二、数据库所使用的编码2.1 查询字符集和校验集2.2 指定编码创建数据库2.3 不同的校验集对比 三、删除数据库drop四、查看数据库show五、修改数据库alter六、数据库的备份与恢复6.1 备份 mysqldump6.2 恢复source6.3 仅备份几张表或备份多个数据库…...
Docker 部署 redis 举例
1、搜索镜像,也可以访问 https://hub.docker.com/ 搜索镜像,查看所有版本。 $ docker search redis2、拉取镜像 $ docker pull redis:5.03、启动镜像,并配置相关映射与绑定(附:Docker 常用命令与指令参数)…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...

DAY 47
三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程
本文较长,建议点赞收藏,以免遗失。更多AI大模型应用开发学习视频及资料,尽在聚客AI学院。 本文全面剖析RNN核心原理,深入讲解梯度消失/爆炸问题,并通过LSTM/GRU结构实现解决方案,提供时间序列预测和文本生成…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2
每日一言 今天的每一份坚持,都是在为未来积攒底气。 案例:OLED显示一个A 这边观察到一个点,怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 : 如果代码里信号切换太快(比如 SDA 刚变,SCL 立刻变&#…...
2023赣州旅游投资集团
单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...
虚拟电厂发展三大趋势:市场化、技术主导、车网互联
市场化:从政策驱动到多元盈利 政策全面赋能 2025年4月,国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》,首次明确虚拟电厂为“独立市场主体”,提出硬性目标:2027年全国调节能力≥2000万千瓦࿰…...

C++_哈希表
本篇文章是对C学习的哈希表部分的学习分享 相信一定会对你有所帮助~ 那咱们废话不多说,直接开始吧! 一、基础概念 1. 哈希核心思想: 哈希函数的作用:通过此函数建立一个Key与存储位置之间的映射关系。理想目标:实现…...
stm32进入Infinite_Loop原因(因为有系统中断函数未自定义实现)
这是系统中断服务程序的默认处理汇编函数,如果我们没有定义实现某个中断函数,那么当stm32产生了该中断时,就会默认跑这里来了,所以我们打开了什么中断,一定要记得实现对应的系统中断函数,否则会进来一直循环…...

Go 语言中的内置运算符
1. 算术运算符 注意: (自增)和--(自减)在 Go 语言中是单独的语句,并不是运算符。 package mainimport "fmt"func main() {fmt.Println("103", 103) // 13fmt.Println("10-3…...
大数据学习(129)-Hive数据分析
🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言📝支持一…...