zoukankan      html  css  js  c++  java
  • eval()

    说明:

    eval() 函数用来执行一个字符串表达式,并返回表达式的值。

    可以将int、list、dict、tuple与str之间的转化。

    可以看成str函数的逆运算。

    int_1 = 1
    list_1 = [1, 2, 4]
    tuple_1 = tuple(list_1)
    dict_1 = dict(a=1, b=2)
    
    int_2 = eval(str(int_1))
    list_2 = eval(str(list_1))
    tuple_2 = eval(str(tuple_1))
    dict_2 = eval(str(dict_1))
    
    
    print('type(str(dict_1))', type(str(dict_1)))
    print('int_2', type(int_2))
    print('list_2', type(list_2))
    print('tuple_2', type(tuple_2))
    print('dict_2', type(dict_2))

    慎用:

    对于有经验的侵入者来说,他可能会有一系列强大的手段,使得 eval 可以解释和调用这些方法,从而带来更大的破坏。

    此外, eval() 函数也给程序的调试带来一定困难,要查看eval() 里面表达式具体的执行过程很难。

    因此在实际应用过程中如果使用对象不是信任源,应该避免使用 eval,在需要使用 eval 的地方可用安全性更好的 ast.literal_eval 替代。

  • 相关阅读:
    LPC 网络编程
    LPC 语言基础
    (lua) 基于cocos 的插入光效
    lua_table 学习
    lua 语言基础
    C++ 三大特性:封装、继承、多态性
    C++的编译预处理
    C++ 用变量定义数组
    C++ STL常用容器浅析
    拦截器的文章 写的可以!
  • 原文地址:https://www.cnblogs.com/qianslup/p/12157529.html
Copyright © 2011-2022 走看看