位置: 编程技术 - 正文

详解python eval函数的妙用(eval()函数python)

编辑:rootadmin

推荐整理分享详解python eval函数的妙用(eval()函数python),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python中eval函数作用,python eval函数用法,python中eval()函数的用法讲解,eval()函数python,python里面eval函数,python里面eval函数,python里面eval函数,python3中eval函数用法简介,内容如对您有帮助,希望把文章链接给更多的朋友!

python eval函数功能:将字符串str当成有效的表达式来求值并返回计算结果。

函数定义:

将字符串str当成有效的表达式来求值并返回计算结果。globals和locals参数是可选的,如果提供了globals参数,那么它必须是dictionary类型;如果提供了locals参数,那么它可以是任意的map对象。

python的全局名字空间存储在一个叫globals()的dict对象中;局部名字空间存储在一个叫locals()的dict对象中。我们可以用print (locals())来查看该函数体内的所有变量名和变量值。

Python版本兼容:

Python2.7 Python3.x

eval()主要作用:

1)在编译语言里要动态地产生代码,基本上是不可能的,但动态语言是可以,意味着软件已经部署到服务器上了,但只要作很少的更改,只好直接修改这部分的代码,就可立即实现变化,不用整个软件重新加载。2)在machin learning里根据用户使用这个软件频率,以及方式,可动态地修改代码,适应用户的变化。

英文解释:

The arguments are a string and optional globals and locals. If provided, globals must be a dictionary. If provided, locals can be any mapping object.

详解python eval函数的妙用(eval()函数python)

The expression argument is parsed and evaluated as a Python expression (technically speaking, a condition list) using the globals and locals dictionaries as global and local namespace. If the globals dictionary is present and lacks ‘__builtins__', the current globals are copied into globals before expression is parsed. This means that expression normally has full access to the standard builtins module and restricted environments are propagated. If the locals dictionary is omitted it defaults to the globals dictionary. If both dictionaries are omitted, the expression is executed in the environment where eval() is called. The return value is the result of the evaluated expression. Syntax errors are reported as exceptions. Example:

例子:

结果:1

例子2, 测试globals, locals

num1的值是2;num3的值也很好理解,是4;num2的值呢?由于提供了globals()参数,那么首先应当找全局的x和y值,也就是都为1,那么显而易见,num2的值也是2。如果注释掉该句,执行下面一句呢?根据第3)点可知,结果为4

实例展示:

可以把list,tuple,dict和string相互转化。

安全问题:

因为eval的特型, 很可能被黑客利用,造成安全问题。

怎么避免安全问题?

1、自行写检查函数;

2、使用ast.literal_eval代替

标签: eval()函数python

本文链接地址:https://www.jiuchutong.com/biancheng/372278.html 转载请保留说明!

上一篇:Python算法之图的遍历(python图论算法)

下一篇:python定时利用QQ邮件发送天气预报的实例

  • 以旧换新销售商品
  • 托管开票
  • 工程结算开票金额与付款金额区别
  • 个人所得税定期定额起征点
  • 事业单位下属企业员工转事业编
  • 没经营的个体户营业执照怎么注销
  • 企业所得税跨年度事项
  • 企业的党员活动有哪些
  • 各项费用报销附件
  • 销售退回的增值税怎么处理
  • 不含税销售收入含消费税吗
  • 普通增值税发票是否可以抵扣?
  • 增值税发票单位可以不填吗
  • 减免税到什么时候
  • 2019年收入不足6万如何退税
  • 股权转让需要什么资料
  • 技术服务费增值税申报表填写
  • 资产负债率是什么之比
  • 公司负担劳务费的个税如何做分录
  • 事业单位年末预算会计货币资金在贷方有余额对吗
  • thinkpad预装的office怎么激活
  • 怎么使用win10
  • 笔记本如何刷新bios
  • window11如何打开任务管理器
  • php常用设计模式(大总结)
  • 其他应付款怎么平账
  • vue.js mvvm
  • 二手车过户需要带什么资料
  • 奥林匹克国家公园
  • 以股权出资成立公司的模板
  • vue实现瀑布流布局
  • php合并字符串函数
  • 服务费开票税收分类
  • 计提的费用收到增值税专票
  • ps灰色模式怎么换回来快捷键
  • SQLite数据库常用语句及MAC上的SQLite可视化工具MeasSQLlite使用方法
  • 非独立核算与独立核算
  • 福利费为什么通过应付职工薪酬科目要紧吗
  • 股票价值和内部收益率的公式
  • 申报错误后处理有影响吗
  • 小规模增值税纳税人优惠政策
  • 申请名称预先核准在哪个网站
  • 委托加工物资的成本包括
  • 差旅费报销过程中会计和出纳分别做什么
  • 交易性金融资产的账务处理
  • 收到待报解预算收入是国家退的税吗
  • 财务报告分析主要内容
  • 无息的银行承兑汇票
  • 事业单位发放生育津贴从哪年执行的
  • 结存成本会计分录
  • 食品生产企业成本怎么核算
  • 怎么开具
  • 个体工商户如何缴纳社保
  • mysql osc
  • Windows Server 2008域环境下组策略两例应用
  • centos账号密码
  • xp系统如何去掉开机登陆界面
  • macbook怎么隐藏
  • centos查看某个端口
  • mac电脑怎么打开
  • win10预览版21390
  • linux error 27:unrecognized command
  • windows10 不能启动
  • 鼠标的指针
  • win8怎么设置开机启动项
  • Linux 压缩某个文件夹的实现方法
  • jqueryfind
  • sublime text配置node.js调试(图文教程)
  • windows安装pycharm
  • JavaScript中OnLoad几种使用方法
  • 举例讲解生产可能性曲线
  • jq获取节点属性
  • pythonandroid开发
  • javascrapt
  • 电子税务局怎么添加开票员
  • 营改增后一般纳税人动产租赁税率
  • 江苏省教师增量绩效多少
  • 增值税专用发票提高限额
  • 山东省关于公务员社会信用考察的规定
  • 税收政策对中小微企业的影响数据公式
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设