首页 > 解决方案 > 如果值不是单一的,如何使用 setattr?

问题描述

我想使用 setattr 创建一个情节:

    import numpy as np
    import matplotlib.pyplot as plt

    x = np.random.rand(10)
    y = np.random.rand(10)

    # I want this:
    # plt.scatter(x, y)
    setattr(plt, "scatter", [HOW TO PASS X AND Y])

由于我要传递的值不是单一的,我该怎么做?基本上,这应该是结果:plt.scatter(x, y)

标签: pythonsetattr

解决方案


我认为您正在寻找的是getattr. 在这种情况下,它将返回 a Callable,因此您可以将其视为函数,如下所示:

getattr(plt, 'scatter')(x, y)

与此相同:

plt.scatter(x, y)

setattr这种方式使用会更类似于plt.scatter = (x, y),我认为这不是你想要做的。


推荐阅读