如何在 python 中从参数创建变量



我想在python中创建一个函数,其中一个参数是稍后的变量...

举个例子,应该是这样的

foo=myfunction("var1","var2",otherarguments)

(请注意,var1var2是以前从未使用过的字符串)

然后程序应该使

var1=blabla
var2=blabla2/otheraguments

我需要这个来制作使用 GNUplot 的图形,一个变量将用于设置图形的参数

例如,这应该在函数内部

var1=Gnuplot.Gnuplot(debug=1)
var1("set terminal gif animate delay 10") #to make animation in gnuplot
var1("set style data lines")
var1.xlabel("name_of_x_axis")
var1("set pm3d")
var1.title("newgraph in 3d")
var1.splot(Gnuplot.GridData(otherarguments,X,Y,binary=0))

我尝试过这样的东西

example={"var1":"Gnuplot.Gnuplot(debug=1)","var2":[1,2,3,4,5,6,7,8,9]}

然后

locals().update(example)

globals().update(example)

但我不确定如何在函数中实现这一点

string使用vars()创建变量

>>> foo="bar"
>>> vars()[foo] = 'qwertry'
>>> print bar  # --> 'qwertry'

编辑:演示返回对绘图的引用供以后使用

def myfunction():
    var1=Gnuplot.Gnuplot(debug=1)
    var1("set terminal gif animate delay 10") #to make animation in gnuplot
    var1("set style data lines")
    var1.xlabel("name_of_x_axis")
    var1("set pm3d")
    var1.title("newgraph in 3d")
    return var1
myplot = myfunction()
# Now call myplot.splot with whatever arguments you want.
myplot.splot(Gnuplot.GridData(otherarguments, X, Y, binary=0))
myplot.splot(Gnuplot.GridData(morearguments, X, Y, binary=0))
myplot.splot(Gnuplot.GridData(stillmore, X, Y, binary=0))
for args in list_of_arguments:
    myplot.splot( Gnuplot.GridData(args, X, Y, binary=0) )

相关内容

  • 没有找到相关文章

最新更新