位置: 编程技术 - 正文

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

  • 为什么会有不同的课程定义
  • 土增清算问题
  • 教育行业税收优势分析
  • 会员退费怎么算
  • 补缴税款的会计怎么做账
  • 小型企业利润表
  • 符合条件的居民企业之间股息红利
  • 物流企业信用评级
  • 辅导期一般纳税人
  • 待评估资产价值
  • 冲回多提所得税
  • etc开了充值发票还可以开消费发票么?
  • 股权转让有溢价怎么做账
  • 固定资产原值是含税还是不含税
  • 私营企业所得税是多少
  • 利用发票管税的意义
  • 固定资产清理出售合同
  • 融资租入的固定资产视为承租企业的资产体现了什么原则
  • 月息和年息的换算公式等额本息
  • 公司哪些发票可以抵税
  • 收入低于10万免征附加税
  • 罕见病药品进口要求
  • win10任务栏不显示最近
  • 应收账款保理会计处理 会计视野
  • 没有开工没有收入用书面语言表达
  • 未计发放待遇
  • office进程
  • 怎样选好布艺沙发
  • cda是什么文件格式
  • PHP:pg_get_result()的用法_PostgreSQL函数
  • 工作组只能看到自己
  • 银行的抵债资产有几种处置办法
  • vue移动和pc两套代码
  • 直接转销法账务处理
  • 上飞机可以带2个充电宝吗
  • 总分类账户原材料
  • 专利权出资会计科目
  • php怎么输出中文
  • 索洛维茨在哪
  • 代理业务资产的含义
  • php读取mysql
  • 罚款支出是什么意思
  • 华为od机试题题库
  • 工程建设质保金比例
  • video.js教程
  • 母子公司资产划转的涉税问题
  • 个人接受现金捐赠的情况
  • centos7.3安装
  • sqlyog提示
  • seacms error怎么办
  • 购买旧固定资产入账
  • 一般纳税人销售自己使用过的汽车
  • 基建和技改的区别
  • 建筑业收入叫什么
  • 企业软件开发哪家好
  • 个人向公司借款流程
  • 年度汇算清缴要补税怎么办
  • 案例分析购入办法怎么写
  • ftp的安装
  • award bios设置图解教程
  • win8搜索程序和文件在哪里
  • 如何设置桌面背景颜色
  • 在cenots下使用iso光盘文件重新安装CentOS的方法步骤
  • hpm是什么格式的文件
  • xp系统不能正常启动怎么修复
  • win7系统命令大全
  • mac安装osx失败
  • 网页设计中css样式有何用途
  • u3d unity3d
  • python简单gui
  • javascript中的类型转换
  • 自定义圆角控件
  • 轻轻松松学习JavaScript
  • android开发框架
  • 顺丰收取关税合理吗
  • 12366纳税服务热线接收税收违法行政行为举报管理办法
  • 超市开发票每月额度,超了之后税率是多少
  • 如何连续打印单据
  • 增值税留抵退税政策
  • 武汉 工资 税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设