Python关于eval函数+实战案例

 1.关于eval函数

基础概念

介绍:将字符串作为Python表达式执行,并返回表达式的计算结果(这意味着,你可以将一个包含Python代码的字符串传递给eval(),它会像直接执行那段代码一样处理这个字符串,计算出相应的值)

  • 表达式解析与执行eval() 接受一个字符串参数,这个字符串应当构成一个有效的Python表达式。这包括了算术运算、变量引用、函数调用等各种表达式形式。函数执行时,会解析该字符串,计算其表达式的值,并返回这个值。

    eval()函数如何解析并执行不同的表达式

    算术运算
    expr = "3 + 5"
    result = eval(expr)
    print(result)  # 输出: 8
    变量引用
    x = 10
    expr = "x * 2"
    result = eval(expr)
    print(result)  # 输出: 20
    函数调用
    def add(a, b):
        return a + b
    ​
    expr = "add(4, 5)"
    result = eval(expr)
    print(result)  # 输出: 9
    复合表达式
    y = 20
    expr = "(3 + 5) * y / 4"
    result = eval(expr)
    print(result)  # 输出: 20.0
    字典和列表解析

    注意,eval()也能解析字面量结构,比如列表和字典,但出于安全考虑,对于复杂数据结构的解析,推荐使用ast.literal_eval()

    expr = "[i for i in range(3)]"  # 列表推导式
    result = eval(expr)
    print(result)  # 输出: [0, 1, 2]
    ​
    expr = "{i:i**2 for i in range(3)}"  # 字典推导式
    result = eval(exp
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值