如果这个问题已经提出并得到了回答,我深表歉意。
我需要做的是非常简单的概念,但不幸的是,我还没有找到一个在线答案。
我需要在Python(Python2.7)中使用运行时的自定义名称创建动态函数。每个函数的主体也需要在运行时构造,但对于所有函数来说(几乎)都是相同的。
我从一张名单开始。func_names = ["func1", "func2", "func3"]
请注意,func_名称列表可以包含任意名称的列表,因此名称将不仅仅是func1、func2、func3。。。。
我希望结果是:def func1(*args):
...
def func2(*args):
...
def func3(*args):
...
我需要这样做的原因是,每个函数名对应一个测试用例,然后从外部世界调用。
更新:没有用户输入。我要把一个大得多的模块的两端绑起来。一端确定测试用例是什么,除其他外,填充测试用例的名称列表。另一端是函数本身,它必须具有与测试用例名称的1:1映射。所以我有测试用例的名称,我知道我想对每个测试用例做什么,我只需要创建具有测试用例名称的函数。由于测试用例的名称是在运行时确定的,因此基于这些测试用例的函数创建也必须在运行时进行。
更新:如果这样做会更容易,我还可以将这个自定义命名函数包装到一个类中。
我可以在字符串中硬编码函数的内容(因为它们几乎是相同的),也可以在以前定义的基类的基础上进行硬编码。只需要知道如何用这些内容填充函数。
例如:func_content = """
for arg in args:
print arg
"""
提前谢谢你
马赫迪