首先,我有两个这样的课程: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 或其他方法发送它。那么我该怎么做呢?
1 回答

慕桂英4014372
TA贡献1871条经验 获得超13个赞
您可以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
添加回答
举报
0/150
提交
取消