首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python eval()内置函数

Python eval()内置函数
EN

Stack Overflow用户
提问于 2018-07-05 06:17:20
回答 1查看 77关注 0票数 0

在网上寻找了一些参考资料后,我仍然不明白eval()真正是如何工作的,也许我遗漏了一个关键组件,希望有人能引导我找到正确的文档或解释。

假设:

def foo(x,y):
    print(x)
    print(y)

使用eval()调用foo()。

示例1:

eval('foo(1,2)') 

示例2:

eval('foo')(1,2)

根据Python3.6文档,我在example上调用eval()的方式是应该如何做的,因为我将所有东西都作为字符串传递,然而,例如#2我仍然不明白为什么python解释器在运行第二个示例的eval()时也会计算correctly.To me。在第二个示例中,python解释器应该返回一个需要2个缺失参数的TypeError。我希望如果有人能给我指明正确的方向。

EN

回答 1

Stack Overflow用户

发布于 2018-07-05 06:21:45

这是一个有效的Python表达式:foo。它的计算结果是函数。然后,您可以调用它。这就是foo(1, 2)工作的原因。您还可以执行以下操作:

x = foo
x(1, 2)

因此,eval("foo")的计算结果是函数foo,然后您可以调用该函数。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51181325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档