Skip to main content
 首页 » 编程设计

Python之将函数调用拆分为函数和参数

2025年05月04日19yxwkf

在 Python 中是否可以将函数调用拆分为函数及其参数列表?例如,将 func(1,4,True) 转换为 [func, 1, 4, True] 或类似的东西。理想情况下,我想为任意函数执行此操作。

编辑:我是编程类(class)的助教,这样做的目的是检查学生的代码中包含哪些测试用例。我想看看学生用什么值来调用他们的代码,以确保他们正确地测试它。我们让学生在编写测试时使用比较函数(他们从模块中导入),因此我希望编辑比较函数以检查他们包含了哪些测试用例。

我对如何实现相同的最终结果有一些其他想法(例如以文本形式读取代码或将学生代码复制到具有不同 func 定义的新文件中),但与重新定义比较函数相比,两者都将涉及更多工作并且更可能出现问题。

请您参考如下方法:

您问题的直接答案是否,因为函数调用 不是对象,而是语句。

要获取有关任何函数的信息,例如其名称、参数等,您可以使用附加到每个函数的一些属性和方法:

>>> def foo(a,b): 
...    print a,b 
...  
>>> foo.func_name 
'foo' 
>>> foo.func_code.co_varnames 
('a', 'b') 

键入 dir(funcname) 会给你更多的东西去探索。

如果您想知道一个函数是如何工作的,调用时如何分配参数,以及其他此类调查性故障排除 - inspect module .