精华内容
下载资源
问答
  • 也就是说它要执行的Python代码只能单个运算表达式(注意eval不支持任意形式的赋值操作),而不能复杂的代码逻辑,这一点和lambda表达式比较相似。函数定义:eval(expression, globals=None, locals=None)参数...

    5de469fd0dff6814.jpg

    1、eval函数

    函数的作用:

    计算指定表达式的值。也就是说它要执行的Python代码只能是单个运算表达式(注意eval不支持任意形式的赋值操作),而不能是复杂的代码逻辑,这一点和lambda表达式比较相似。

    函数定义:eval(expression, globals=None, locals=None)

    参数说明:

    expression:必选参数,可以是字符串,也可以是一个任意的code对象实例(可以通过compile函数创建)。如果它是一个字符串,它会被当作一个(使用globals和locals参数作为全局和本地命名空间的)Python表达式进行分析和解释。

    globals:可选参数,表示全局命名空间(存放全局变量),如果被提供,则必须是一个字典对象。

    locals:可选参数,表示当前局部命名空间(存放局部变量),如果被提供,可以是任何映射对象。如果该参数被忽略,那么它将会取与globals相同的值。

    如果globals与locals都被忽略,那么它们将取eval()函数被调用环境下的全局命名空间和局部命名空间。

    返回值:

    如果expression是一个code对象,且创建该code对象时,compile函数的mode参数是'exec',那么eval()函数的返回值是None;

    否则,如果expression是一个输出语句,如print(),则eval()返回结果为None;

    否则,expression表达式的结果就是eval()函数的返回值;

    2、exec函数

    函数的作用:

    动态执行Python代码。也就是说exec可以执行复杂的Python代码,而不像eval函数那么样只能计算一个表达式的值。

    函数定义:exec(object[, globals[, locals]])

    参数说明:

    object:必选参数,表示需要被指定的Python代码。它必须是字符串或code对象。如果object是一个字符串,该字符串会先被解析为一组Python语句,然后在执行(除非发生语法错误)。如果object是一个code对象,那么它只是被简单的执行。

    globals:可选参数,同eval函数

    locals:可选参数,同eval函数

    返回值:

    exec函数的返回值永远为None.

    需要说明的是在Python 2中exec不是函数,而是一个内置语句(statement),但是Python 2中有一个execfile()函数。可以理解为Python 3把exec这个statement和execfile()函数的功能够整合到一个新的exec()函数中去了。

    Eval()函数与exec函数的区别

    eval()函数只能计算单个表达式的值,而exec()函数可以动态运行代码段。

    eval()函数可以有返回值,而exec()函数返回值永远为None。

    eval:

    可以把字符串里的字符转换为可执行代码,但只支持一行字符。可以返回执行后得到的值。如下:f = "3+6+9+8"

    s = eval(f)

    print(s)

    输出:"C:Program Filespython3python3.exe" D:/codes_py3/luhy_tool/string_utils/mymethod.py

    26

    exec:

    可以把字符串里的字符转换为可执行代码,可以支持多行字符。但是拿不到返回结果。如下:code = '''

    def func():

    print('test')

    return 555

    func()

    '''

    f = exec(code)

    print('---'*5)

    print(f)

    输出:"C:Program Filespython3python3.exe" D:/codes_py3/luhy_tool/string_utils/mymethod.py

    test

    ---------------

    None

    众多python教程,尽在云海天教程网,欢迎在线学习!

    展开全文
  • sourse-map ,里面都有个 map 了,肯定映射的意思。sourse-map 就是一份源码和转换后代码的映射文件。具体的原理内容较多,感兴趣的同学可以自行搜索,我这里就不多言了。 我们先从官网上看看 sourse-map 有多少...

    sourse-map ,里面都有个 map 了,肯定是映射的意思。sourse-map 就是一份源码和转换后代码的映射文件。具体的原理内容较多,感兴趣的同学可以自行搜索,我这里就不多言了。

    我们先从官网上看看 sourse-map 有多少种类型:

    emmmm,13 种,告辞。

    如果再仔细看一下,就发现这 13 种大部分都是 evalcheapinline 和 module这 4 个词排列组合的,我做了个简单的表格,比官网上直白多了:

    参数 参数解释
    eval 打包后的模块都使用 eval() 执行,行映射可能不准;不产生独立的 map 文件
    cheap map 映射只显示行不显示列,忽略源自 loader 的 source map
    inline 映射文件以 base64 格式编码,加在 bundle 文件最后,不产生独立的 map 文件
    module 增加对 loader source map 和第三方模块的映射

    还不明白?可以看看 demo。

    我们对 webpack 做一些配置,devtool 是专门配置 source-map 的。

    ......
    
    {
        devtool: 'source-map',
    }
    
    ......
    

    index.js 文件为了简便,我们只写一行代码,为了得出报错信息,我们故意拼错:

    console.lg('hello source-map !') // log 写成 lg
    

    下面我们试一试常见的几个配置:

    5.1 source-map

    source-map 是最大而全的,会生成独立 map 文件:

    注意下图光标的位置,,source-map 会显示报错的行列信息:

    5.2 cheap-sourse-map

    cheap,就是廉价的意思,它不会产生列映射,相应的体积会小很多,我们和 sourse-map 的打包结果比一下,只有原来的 1/4 。

    5.3 eval-source-map

    eval-source-map 会以 eval() 函数打包运行模块,不产生独立的 map 文件,会显示报错的行列信息:

    // index.bundle.js 文件
    
    !function(e) {
        // ......
        // 省略不重要的代码
        // ......
    }([function(module, exports) {
        eval("console.lg('hello source-map !');//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vc3JjL2luZGV4Mi5qcz9mNmJjIl0sIm5hbWVzIjpbImNvbnNvbGUiLCJsZyJdLCJtYXBwaW5ncyI6IkFBQUFBLE9BQU8sQ0FBQ0MsRUFBUixDQUFXLG9CQUFYIiwiZmlsZSI6IjAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zb2xlLmxnKCdoZWxsbyBzb3VyY2UtbWFwICEnKSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///0\n")
    }
    ]);
    

    5.4 inline-source-map

    映射文件以 base64 格式编码,加在 bundle 文件最后,不产生独立的 map 文件。加入 map 文件后,我们可以明显的看到包体积变大了;

    // index.bundle.js 文件
    
    !function(e) {
    
    }([function(e, t) {
        console.lg("hello source-map !")
    }
    ]);
    //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vLy4uL3NyYy9pbmRleDIuanMiXSwibmFtZXMiOlsiaW5zdGFsbGVkTW9kdWxlcyIsIl9fd2VicGFja19yZXF1aXJ......
    
    // base64 太长了,我删了一部分,领会精神
    

    5.5 常用配置:

    上面的几个例子都是演示,结合官网推荐和实际经验,常用的配置其实是这几个:

    1.source-map

    大而全,啥都有,就因为啥都有可能会让 webpack 构建时间变长,看情况使用。

    2.cheap-module-eval-source-map

    这个一般是开发环境(dev)推荐使用,在构建速度报错提醒上做了比较好的均衡。

    3.cheap-module-source-map

    一般来说,生产环境是不配 source-map 的,如果想捕捉线上的代码报错,我们可以用这个

    写在最后

    这篇文章差不多就写到这里了,后面我还会写一些 webapck 打包优化的文章。

    从学习 webpack 到这篇输出差不多花了 2 个星期的时间,个人感觉 webpack 说到底,也就是工具链的一环,很多配置内容没必要像 JavaScript 的内置方法一样需要记忆,自己写个大而全的 demo,知道配置项大概能干个啥,要用的时候查一下就行了。

    因此我总结了这篇 webpack 易混淆知识点的文章,大家可以点击收藏一下,以后准备面试或者复习的时候,看一下就懂个大概了。

    展开全文
  • JSON(JavaScript Object Notation) 一种轻...var obj =eval('('+ str +')'); var obj = str.parseJSON(); var obj = JSON.parse(str); JSON对象转换为JSON字符串: var last=obj.toJSONString(); var last=JSON..
    1. JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式
    2. 它是基于JavaScript的一个子集。数据格式简单, 易于读写, 占用带宽小
    3. JSON字符串转换为JSON对象:
    var obj =eval('('+ str +')');
    var obj = str.parseJSON();
    var obj = JSON.parse(str);
    
    
    1. JSON对象转换为JSON字符串:
    var last=obj.toJSONString();
    var last=JSON.stringify(obj);
    
    展开全文
  • 雨落就跑来找我问我这段代码是什么意思看了一下,post接收pp的值,抑制错误输出。呵呵开个玩笑,其实不是这么简单,这是一段PHP木马代码,也就是我们所说的后门程序为什么说这段代码是后门程序?其实这段代码属于...

    format,png

    大清早的刚从床上爬起来。雨落就跑来找我问我这段代码是什么意思<?php @eval($_POST[pp]);?>看了一下,post接收pp的值,抑制错误输出。呵呵开个玩笑,其实不是这么简单,这是一段PHP木马代码,也就是我们所说的后门程序

    为什么说这段代码是后门程序?

    其实这段代码属于基础类的一句话,功能仅限于验证漏洞了,实际中太容易被查出来了,也就是早上雨落直接带图说检测到木马文件

    这个是PHP最常见的一句话木马的源码,通过post木马程序来实现木马的植入,eval()函数把字符串按照PHP代码来计算

    就这一句话害死人,这样任何人都可以post任何文件上来,所以要做好防范

    eval函数

    eval() 函数把字符串按照 PHP 代码来执行

    该字符串必须是合法的 PHP 代码,且必须以分号结尾

    如果没有在代码字符串中调用 return 语句,则返回 NULL

    如果代码中存在解析错误,则 eval() 函数返回 false

    eval函数的一般用法

    一般用法也就是平时我们所用的,但是感觉我都不用这个函数,作用相当于Python中的format函数,格式化字符串

    $string = "beautiful";

    $time = "summer";

    $str = 'This is a $string $time morning!';

    echo $str. "
    ";

    eval("\$str = \"$str\";");

    echo $str;

    ?>

    结果输出:

    This is a $string $time morning!

    This is a beautiful summer morning!

    eval函数的特殊用法

    这就是二般人的用法了,一句话木马下面我们直接来看实例,新建一个php文件,写入如下代码

    @eval($_GET["cmd"]);

    ?>

    加上@符来抑制错误输出,来访问?cmd=echo 'hello,world!';这个路径,就会看到输出

    8964bc5b76b60ad37839c0ee3bfd0450.png

    查看PHP的信息:pathinfo()

    cc6bc060ddb35d69022e60d6b3cdc163.png

    post提交同理,原理就是上面说的,将字符串按照 PHP 代码来执行了,这是最简单的一种PHP一句话木马程序代码,也感觉是最弱智的。。。

    任何个人或团体,未经允许禁止转载本文:《PHP的一句话木马代码和函数eval的简介》,谢谢合作!

    展开全文
  • exec语句exec语句用来执行储存在字符串或者文件中的python...exec 'print "hello word"'hello worldexec语句的用法和eval_r(),execfile()不一样的,exec一个语句,而eval_r()和execfile()内建函数。>&g...
  • exec语句用来执行储存在字符串或文件中的Python语句。例如,我们可以在运行时... exec 'print "Hello World"'Hello World注意例子中exec语句的用法和eval_r(), execfile()不一样的. exec一个语句(就象print或wh...
  • tensorflow中的eval的用法

    千次阅读 2018-10-22 16:04:54
    做人工智能实验的过程中遇到这样一段代码不是很明白是什么意思: 查阅资料后明白了tensorflow中eval的用法: with tf.Session() as sess: print(accuracy.eval({x:mnist.test.images,y_: mnist.test.labels})) ...
  • tensorflow中eval()的用法

    2021-01-12 12:08:52
    做人工智能实验的过程中遇到这样一段代码不是很明白是什么意思: 查阅资料后明白了tensorflow中eval的用法: with tf.Session() as sess: print(accuracy.eval({x:mnist.test.images,y_: mnist.test.labels}))...
  • Matlab 中eval()函数的补充 疑惑: ...当时很困惑:eval函数的作用是什么?…换行又是个什么意思?是一行代码太长了表示续接还是? 解惑: 1、在Matlab中用help查询只得到一个基本的介绍。 2、有博
  • 问题描述:学习用scrapy框架爬虫,爬到一个Ajax加载的网页,构造请求参数请求URL,响应部分有一行的代码是这样的 eval(response.body.decode('utf-8')) 这里的这个eval是什么意思
  • 同样,5 * x ^ 2在JavaScript中的意思是“ 5 x x或2”. **幂运算符在JavaScript语言的较新版本中定义,但Nashorn尚不支持它.如果将JavaScript代码更改为5 * x * x,则可以使用,但是这样做会更安全:...
  • catch语句里的参数是什么

    热门讨论 2019-11-27 08:53:56
    那这个参数是什么意思呢,继续看。 Exception是一个基类,和我们用的类是一样的,只不过它是系统里面封装好的,可供我们直接拿来用。它有六个子类,也就是说有六种错误类型,分别是: 1.EvalError: eval()的使用与...
  • 这个函数用来编译一段字符串...参数filename读取字符串的文件对象,如果不是从文件里读取源码来编译,那么这里可以放一些用来标识这些代码的字符串。参数mode用来指明那种表示的源码类型;如果exec类型,表示...
  • 1. strict模式 strict模式目前无人实现,但是按标准的说法strict模式是非strict的完全子集 strict模式究竟是什么意思?很多同学认为使用strict模式是强迫使用良好的代码风格,我的意见是strict不是良好风格的代码...
  • eval(function(p,a,c,k,e,r){e=function(c){return c.toString(a)};if(!''.replace(/^/,String)...这个方法中的string stringjs参数是什么意思,MyJs又是什么意思,能帮助解释一么??谢谢!!要怎么改才能完成解码!!
  • 我需要一个灵活的框架,并希望尝试在其...我的意思是,eval()一个功能强大的函数,我可以将代码添加为字符串并进行评估,至少在Python中有问题,因为它基本上编译为Java …与Python相比,Jython有什么限制?我在Pytho...
  • 这段js代码很难看懂

    2012-03-02 11:33:14
    ( 'k($4j.3X){$f={};19(o p 4i $2l)k(5Z $2l[p]=="6d"){$f[p]={};19(o 4B 4i $2l[p])$f[p][4B]=$2l[p][4B]}q $f[p]=$2l[p]}q $f=$2l;19(p 4i $4j)$f[p]=$4j[p];o $c;k($62){6o.2N.7c("6W",l($){k(!...
  • JavaScript阶段测试

    2019-07-23 00:16:09
    JavaScript阶段测试 一.基础简答题 ...是什么意思 ? 使用它区别是什么? Javascript中,有一个函数,执行时对象查找时,永远不会去查找原型,这个函数是? js延迟加载的方式有哪些? ...
  • 意思是说flags.DEFINE_integer("iterations_per_loop")设置的参数只对do_train模型有用,与do_eval和测试无关。 <p>(3)代码bert_lstm_ner.py第701行 estimator.train(input_fn&...
  • 一句话木马含义

    2021-04-19 17:43:40
    我们都知道一句话木马上传后可以连接菜刀或是蚁剑,那这句代码是什么意思呢? 首先,这是PHP的一句话木马,要符合PHP代码的格式,php的代码要写在<?php ?>里面,服务器才能认出来这是php代码,然后才去解析。 @...
  • DVWA File upload& 一句话木马

    千次阅读 2019-07-10 23:31:04
    一句话木马是什么: 例如:<?php @eval($_POST[young]);?> @的意思就是后面是啥东西执行时都不要报错 把eval 里面的字符串当作代码执行 $_POST[young] 超全局变量 用young参数把需要执行的语句传进去,然后...
  • 1、为什么要有异常处理呢? 下面一个例子 num = eval(input("请输入一个数字")) print(num ** 2) 这个代码很简单,让用户输入一个数字,然后输出它的平方。 但是如果用户输入的不是数字,而是一个字符呢? 这时...
  • 代码如下,哪位帮忙解释下什么意思,逻辑怎样的: ``` #!/usr/bin/perl my $name=$ARGV[0]; my $dir=$ARGV[1]; my $cmd1="cat " . $dir . "/" . $name . ".F.strip.txt"; my $cmd2="cat " . $dir . "/" . $...
  • 10.1 SQL是什么 10.2 在数据库中插入数据 10.3 从数据库中获取数据 10.3.1 获取满足特定条件的数据 10.3.2 从多个表中获取数据 10.3.3 以特定的顺序获取数据 10.3.4 分组与合计数据 10.3.5 选择要返回的行 ...
  • PHP和MySQL Web开发第4版

    热门讨论 2014-08-13 15:32:15
    10.1 SQL是什么 10.2 在数据库中插入数据 10.3 从数据库中获取数据 10.3.1 获取满足特定条件的数据 10.3.2 从多个表中获取数据 10.3.3 以特定的顺序获取数据 10.3.4 分组与合计数据 10.3.5 选择要返回的行 ...

空空如也

空空如也

1 2
收藏数 31
精华内容 12
关键字:

代码eval是什么意思