为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕尼黑8549860 2022-06-28 18:06:26
首先,我有两个这样的课程: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


查看完整回答
反对 回复 2022-06-28
  • 1 回答
  • 0 关注
  • 95 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号