使用ex调用函数

2024-04-20 14:19:17 发布

您现在位置:Python中文网/ 问答频道 /正文

尝试使用exec以字符串形式调用函数,但无效。我在下面附上了一个简单的示例代码

我得到一个错误,即square_it()缺少1个必需的位置参数:“num”。我知道缺少该参数,但我不知道如何使用该globals语法中的参数

以下是一个例子:

def square_it(num):

    result = num * num
    return result

def test():

    #code_globals = {}
    globals()['square_it']()
    code_locals = {'testing':0}
    comd_str = "testing = square_it(2)"
    exec(comd_str, globals(), code_locals)
    print(code_locals['testing'])


test()

Tags: 字符串test参数defcodeitresulttesting
1条回答
网友
1楼 · 发布于 2024-04-20 14:19:17

exec调用中没有发生错误;它发生在第一行,当你呼叫globals时。代码的其余部分都无关紧要

在那里调用函数与以任何其他方式调用函数完全相同;你有调用括号,你只需要把你的论点放进去:

globals()['square_it'](2)

相关问题 更多 >