我可以在python 3.x中的函数内动态切换函数吗?

Jam*_*per 3 python oop python-3.x

在Python 3.x中是否可以动态选择函数或类中的函数?例如,在下面的函数中,而不是依赖于条件语句可以只输入我想要使用的方法?

def npMethodChooser(n,m,method):
    if method == "mean":
        return np.random.rand(n,m).mean(axis=1)
    if method == "std":
        return np.random.rand(n,m).std(axis=1)
Run Code Online (Sandbox Code Playgroud)

Łuk*_*ski 8

可以使用getattr函数来完成动态属性查找.

def npMethodChooser(n, m, method):
    return getattr(np.random.rand(n,m), method)(axis=1)
Run Code Online (Sandbox Code Playgroud)