gpt4 book ai didi

python - 您可以使用 getattr 调用范围内的函数吗?

转载 作者:太空宇宙 更新时间:2023-11-03 13:58:12 26 4
gpt4 key购买 nike

我正在尝试做这样的事情,但我不知道如何调用函数 bar

def foo():
def bar(baz):
print('used getattr to call', baz)
getattr(bar, __call__())('bar')

foo()

请注意,这有点不寻常。通常你会有一个对象并获得一个属性,它可以是一个函数。然后很容易运行。但是,如果您在当前范围内只有一个函数怎么办 - 如何在当前范围内执行 getattr 以运行该函数?

最佳答案

你很接近。要使用 getattr,请传递 name 的字符串值属性的:

getattr(bar, "__call__")('bar')

def foo():
def bar(baz):
print('used getattr to call', baz)
getattr(bar, "__call__")('bar')

foo()

输出:

used getattr to call bar

关于python - 您可以使用 getattr 调用范围内的函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52763125/

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