Skip to main content
 首页 » 编程设计

python functools.partial 其中函数

2025年05月04日16soundcode

我有以下代码:

import functools 
import random 
import inspect  
 
def myfirst(a, b): 
    return a + b 
 
def mysecond(c, d): 
    return c - d 
 
def returnAPartial():   
    myrand = random.randrange(0,2) 
    if myrand == 1: 
        return functools.partial(myfirst, 1) 
    else: 
        return functools.partial(mysecond, 2) 

我将它加载到 python interactive 中并运行:

myfunc = returnAPartial() 

我想(以编程方式)检查 myfunc 是否是 myfirst 或 mysecond 函数的部分应用(不是通过计算,这个例子有点做作)到目前为止我已经使用了 inspect.getmembers()但我找不到合适的属性来检查?

请您参考如下方法:

partial objects有一个 func 属性,这是你想要的:

 myfunc = returnAPartial() 
 print myfunc.func # <function mysecond at 0x10c918488>