zoukankan      html  css  js  c++  java
  • Python eval() 函数

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

    • 语法
      以下是 eval() 方法的语法:
      eval(expression[, globals[, locals]])

    参数
    expression -- 表达式。
    globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。
    locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。

    • 返回值
      返回表达式计算结果。

    实例

    >>>x = 7
    >>> eval( '3 * x' )
    21
    >>> eval('pow(2,2)')
    4
    >>> eval('2 + 2')
    4
    >>> n=81
    >>> eval("n + 4")
    85
    

    其他用法

    将字符串对应的名字的变量转换成该变量对应的值

    >>> x='7'
    >>> x
    '7'
    >>> a=eval(x)
    >>> a
    7
    >>> b='a'     # 等价于b='7'
    >>> c=eval(b)
    >>> c
    7
    >>>
    

    eval 方法能使字符串本身的引号去掉,保留字符的原本属性

    >>> a = "123"
    >>> type(a)
    <class 'str'>
    >>> b = eval(a)
    >>> b
    123
    >>> type(b)
    <class 'int'>
    
    >>>str1 = "[{11,22},{22,33},{33,44},{44,55}]"
    >>>type(str1)
    <class 'str'>
    >>>list1 = eval(str1)
    >>>list1
    [{11,22},{22,33},{33,44},{44,55}]
    >>>type(list)
    <class 'list'>
    >>>a = input("请输入:")
    >>>__import__("os").getcwd()
    >>>eval(a)
    C:Python37  # 输出结果是保存代码的文件夹路径
    

    eval() 函数也可以直接用来提取用户输入的多个值

    a,b=eval(input())
    输入:10,5 得到的结果是:a=10,b=5

    eval() 函数可将看起来像列表的字符串重新转换为列表

    例如: 字符串 ['1709020230', '1707030416', '0', '0', '0'] 看起来好像是列表的模样,实际为字符串的字符串还原回列表形态。

    # 示例
    zifu="['1709020230', '1707030416', '0', '0', '0']"
    print(type(zifu))
    ls=eval(zifu)
    print(type(ls))
    # 结果
    <class 'str'>
    <class 'list'>
    

    这个可以应用在例如,读取一个文本文件中的列表,但是直接读取出来的是字符串格式,这时候可以用 eval() 来将字符串格式的“假列表”转换为真列表。

  • 相关阅读:
    使用 Sentry集中处理错误
    laravel实现多对多的分析
    windows下phpstorm的快捷键
    npm 升级
    squid----正向代理
    nginx----配置优化
    负载均衡----nginx
    负载均衡----HAproxy
    负载均衡----LVS
    mysql-8.0.12读写分离
  • 原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/13468653.html
Copyright © 2011-2022 走看看