位置: 编程技术 - 正文

详解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邮件发送天气预报的实例

  • 公司税务注销流程是否要不发生业务多久
  • 工资怎么扣费
  • 四联发票都需要盖什么章
  • 分期付款进项税额怎么算
  • 减免税款计入哪个科目
  • 所购税控盘减免税款
  • 京东佣金费用计算公式
  • 公司代缴个税分录
  • 增值税一般纳税人资格登记表
  • 报废固定资产产生的净损益属于利得吗
  • 跨月专用发票怎么冲销
  • 生产型增值税转变为消费型增值税
  • 房贷利息抵个税细则 两套房
  • 隔月红冲发票对报税有影响
  • 防伪标识会有假的吗
  • 母公司收到的分红计入利润吗
  • 公司付给职工的工资
  • 增值税预交怎么计算
  • 按季申报是什么意思
  • 增值税发票二联折叠票样式
  • 小规模纳税人每季度超过30万交税
  • 冲抵货款销售返利会计分录怎么写?
  • 个体工商户怎么办对公账户
  • 床垫增值税税率是多少
  • 消费税怎样做分录
  • 怎么在bios中开启硬件虚拟化
  • win10系统通知中心在哪
  • 怎么提升电脑速度
  • 代开专用发票缴纳增值税需要计提吗?
  • 总公司固定资产包括哪些
  • gnaupdaemon.exe是什么
  • php写的代码怎么运行
  • vue项目部署上线 需要做哪些准备
  • vue docx-preview实现docx文件在线预览
  • 0.96寸OLED显示汉字
  • linuxless命令查看文件
  • 银行罚息是财务收入吗
  • element表格表单
  • 小规模纳税人免征增值税的账务处理
  • 长期股权投资的明细科目有哪些
  • 财务费用在贷方,怎么结转到本年利润?
  • dedecms插件
  • 织梦内容页模板修改
  • 人工成本与工资的关系
  • 建筑垃圾处置费 南通
  • 购买的软件属于什么资产
  • 个人出租不动产增值税优惠政策
  • 暂估入库按含税价吗
  • 财务费用包含了利息费用吗
  • 本期预付的费用属于本期费用吗
  • 收到保险公司赔款
  • 售后回租的实际利率怎么计算
  • 车辆购置税退税申请表
  • 免税发票怎么抵扣
  • 应计入产品成本的停工损失是
  • 研发投入算到产值里吗
  • 会计科目中英文对照表下载
  • mysql 5.7.30安装
  • mysql启动时报1067
  • win7系统怎么对外发送wifi信号
  • openbsd6.8
  • kvm虚拟机是什么
  • 不会安装系统怎么安装
  • Windows(win7/win8/xp/2003)进入安全模式方法详细汇总
  • win8怎么打开系统设置
  • win8使用体验
  • win7复制粘贴快捷键经常失效
  • win8隐藏的文件夹怎么找出来
  • ,linux
  • python爬取教程
  • nodejs test
  • 安卓返回按钮图标
  • bat脚本%1
  • shell脚本判断两个数大小
  • 刚开始学java的心得体会
  • jquery点击事件写法
  • 河南城乡居民医疗保险电话
  • 注销税务说明
  • 运城取暖费网上怎么交
  • 无锡税务局稽查一分局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设