Python 如果值不是单值,如何使用setattr?
我想使用setattr创建绘图:Python 如果值不是单值,如何使用setattr?,python,setattr,Python,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]) 既然我想传递的值不是单一的,我该如何传递呢?基
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)
我想你要找的是getattr
。在本例中,它将返回一个可调用的,,因此您可以将其视为一个函数,如下所示:
getattr(plt, 'scatter')(x, y)
与此相同:
plt.scatter(x, y)
以这种方式使用setattr
更类似于plt.scatter=(x,y)
,我认为这不是您想要做的。您没有设置属性,而是调用一个属性
getattr(plt, some_func)(x, y)
将呼叫
plt.some_func(x, y)
那么,在你的情况下,你想跑步吗
getattr(plt, 'scatter')(x, y)
要执行的操作不是属性设置操作。为什么要使用setattr
?单身与什么都没有关系?@user2357112我需要能够动态设置绘图类型,我正在尝试避免使用超长的if-else代码。getattr(plt,'scatter')(x,y)是我需要的答案。