gpt4 book ai didi

python - 如何向 exec 的运行代码发送值

转载 作者:行者123 更新时间:2023-12-01 07:05:56 24 4
gpt4 key购买 nike

首先,我有两个这样的类:

class A(object):
def foo(self, context):
print(context)

class B(object):
def foo(self, context):
print(context)

请注意此处的context 变量。

第二,我想在 exec 中调用 A 和 B,如下所示:

body = """
a = A()
a.foo()
b = B()
b.foo()
"""
exec(body)

我还有一些其他使用context的类。

这意味着我不希望 context 变量出现在 body 代码中。它是在其他地方生成的。我想通过exec或其他方法发送它。

那么我该怎么做呢?

最佳答案

您可以将 context 改为全局变量:

class A(object):
def foo(self):
print(context)

class B(object):
def foo(self):
print(context)

body = """
a = A()
a.foo()
b = B()
b.foo()
"""
context = 'foobar'
exec(body)

输出:

foobar
foobar

关于python - 如何向 exec 的运行代码发送值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58443748/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com