如何将函数名传递给函数,然后调用它?

2024-05-16 04:58:05 发布

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

  1. 如何将函数名传递给函数,然后调用它? 是否可以不使用getattribute进行此操作?

  2. 如何将类名传递给函数,然后实例化该类? 我知道我可以直接将类的实例传递给函数,但重要的是,在调用函数之后,类被实例化。


Tags: 实例函数调用函数将类类名getattribute
3条回答
def outer(f):          # any name: function, class, any callable
    return f()         # class will be instantiated within the scope of the function
namespace = globals()
result = namespace[func_name]()
instance = namespace[class_name](*some_args)

您可以使用自己的字典(名称空间),而不是globals。在

不清楚为什么需要人工约束,比如不直接传递函数/类对象,不使用getattr()。在

如果计划使用的选项数量有限,则可以使用字符串键和函数/类的值设置字典。在

相关问题 更多 >