当前位置: 首页 > news >正文

河南省建设监理协会网站证书查询外贸网店怎么开

河南省建设监理协会网站证书查询,外贸网店怎么开,互联网推广平台,适合注册公司的名字大全eval、literal_eval、exec函数的使用 eval函数literal_eval函数exec函数三者的区别 eval函数 eval()是Python中的内置函数#xff0c;它可以将一个字符串作为参数#xff0c;并将该字符串作为Python代码执行。它的语法格式为#xff1a;eval(expression,globalsNone,locals… eval、literal_eval、exec函数的使用 eval函数literal_eval函数exec函数三者的区别 eval函数 eval()是Python中的内置函数它可以将一个字符串作为参数并将该字符串作为Python代码执行。它的语法格式为eval(expression,globalsNone,localsNone) expression参数表示要执行的Python代码的字符串表示形式。 globals参数表示全局变量的字典当有global参数时eval函数就执行gobals参数字典键对应的值它的作用域就限于globals中。 locals参数表示局部变量的字典当局部变量中字典的键与全局变量中的字典的键相同时优先执行locals参数中键对应的值。 在默认的情况下eval()函数的作用范围为当前作用域的全局和局部变量。 具体代码如下 # 定义一些使用的数据 na 1 nb 2 nc {na:3,nb:1} nd {na:4,nc:5} 测试expression参数eval1 eval(nanb) 测试globals参数# 这里的na和nb必须时字典的键 # 因为你用到了globals参数 eval2 eval(nanb,nc) 测试locals参数# 这里globals参数中字典的键和locals参数中字典的键相同 # 此时eval函数会优先使用locals中字典对应键的值 eval3 eval(nanc,nc,nd)print(eval1) # 3 print(eval2) # 4 print(eval3) # 9 我们常用的是eval函数和input函数的结合input函数获取输入的值并以字符串的形式进行返回。而这时我们的eval函数刚好能进行字符串的转换。具体代码如下 ina input(请输入一个整数) print(type(ina)) # class strinb eval(ina) print(type(inb)) # class inteval函数的使用具有不安全性它的可以执行任意的Python代码包括恶意代码如果函数参数是不可信的来源提供的那么可能导致安全漏洞。例如如果提供一个恶意的字符串”__import__(OS).system(rm -rf/)“如果执行了此代码那么会导致系统文件被删除造成不可挽回的损失。所以在不可信的环境中我们应该避免使用eval函数可以考虑更加安全的函数literal_eval()函数 literal_eval函数 literal_eval()函数可以安全的评估包含字面表达式的字符串因此不能用于解析任意的Python代码。它不会执行任何函数或导入模块因此可以避免由于不可信代码的执行而导致的安全漏洞。literal_eval()函数使用时需要导入ast库它的语法格式为ast.literal_eval(node_or_string) node_or_string参数表示包含要评估代码的字符或者编译过的代码对象。 具体代码如下 import asts [2, 3, 4, 5]# 它的字面表达式为列表 result ast.literal_eval(s)print(result) # [2, 3, 4, 5]exec函数 exec函数用于执行一段动态生成的代码。它接收一个字符串作为参数字符中包含了要执行的Python代码。exec函数可以被用于动态的导入模块、定义函数、类等操作也具有不安全性。语法格式为exec(object, globalsNone, localsNone) object参数表示要执行的代码的字符串或和编译过的代码对象。 globals参数表示全局变量的字典 locals参数表示局部变量的字典 他的使用方法和eval函数有点相似并且默认情况下使用当前作用域的全局和局部变量。 具体代码如下 # 打印3 3次 code for _ in range(3):print(3)exec(code) 三者的区别 安全性exec()和eval()函数都不具备安全性在不可信的环境下避免使用。而literal_eval()函数具备安全性。 执行范围exec()和eval()可以执行任意Python代码而literal_eval()函数只能执行包括字符串、数字、元组、列表和字典等在内的字面表达式不能执行任意Python代码如函数和模块不能执行。
http://www.dnsts.com.cn/news/206585.html

相关文章:

  • 网站开发者 敬请期待网站建设培训机构哪里好
  • 校园电商平台网站建设东莞网站快速排名提升
  • 收费网站建设视频教程免费下载网页主要由三部分组成
  • 网站开发 方案概要做外汇需要了解的网站
  • 攻击网站步骤河南免费网站建设公司推荐
  • 网站服务器地址怎么查询天津百度推广
  • 什么网站可以做兼职 知乎中企动力和东莞朝阳做的网站对比
  • eclipse tomcat 网站开发wordpress tag 别名
  • 昆山高端网站建设公司哪家好广州建设局
  • 网站做下载功能网站短时间怎么做权重
  • 如何网站开发语言wto最新新闻
  • 网站开发工程师职位概要石家庄新闻发布会
  • 唯品会 一家专门做特卖的网站软件开发详细流程
  • 网站建设指南网站建设类岗位有哪些
  • 企业进行网站建设的方式信息网络工程师
  • 怎么用wordpress做网站seo外包优化
  • 新乡 网站运营房地产网站建设流程
  • 个人备案域名可以做企业网站吗图片论播wordpress
  • 效果好企业营销型网站建设百度推广公司怎么代理到的
  • 哪个网站上可以做初中数学题购物网站用那个软件做
  • 温岭建设局网站wordpress设置菜单导航
  • 企业门户网站的意义一站式服务门户
  • 网站一级域名长春建站公众号
  • 四平网站制作网站的二级网页关键词
  • 买手表网站深圳网站软件网站建设
  • 无锡做网站365caiyi最新做做网站
  • 有机农产品网站开发方案网站关键词设置数量
  • 网站建设团队与分工搭建网站有哪些
  • 网站建设 报价单 doc遵义网络推广软文
  • 三亚网站建设公司前端招聘去哪个网站