找回密码
 会员注册
查看: 19|回复: 0

python笔记ast.literal_eval

[复制链接]

4

主题

0

回帖

13

积分

新手上路

积分
13
发表于 2024-9-9 13:53:50 | 显示全部楼层 |阅读模式
1介绍ast.literal_eval是Python标准库ast模块中的一个函数,用于安全地评估表示Python字面量或容器(如列表、字典、元组、集合)的字符串importast#解析并执行一个数字表达式num=ast.literal_eval("3.14")print(num)#3.14#解析并执行一个字符串表达式str_=ast.literal_eval('"Hello,world!"')print(str_)#Hello,world!#解析并执行一个元组表达式tuple_=ast.literal_eval("(1,2,3)")print(tuple_)#(1,2,3)#解析并执行一个列表表达式list_=ast.literal_eval("[1,2,3]")print(list_)#[1,2,3]#解析并执行一个字典表达式dict_=ast.literal_eval("{'name':'Alice','age':25}")print(dict_)#{'name':'Alice','age':25}#解析并执行一个集合表达式set_=ast.literal_eval("{'apple','banana','cherry'}")print(set_)#{'apple','banana','cherry'}'运行运行2和eval的区别/ast.literal_eval的禁忌ast.literal_eval仅能解析Python字面量和一些容器类型(如列表、字典、元组、集合等),这意味着它不能计算包含Python表达式或函数调用的字符串。这是一个设计上的限制,以确保安全性,防止执行潜在危险的代码。无法执行的【这些eval都可以】:数学表达式函数调用条件表达式
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-10 06:14 , Processed in 0.778087 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表