我想在python中创建一个函数,其中一个参数后来是一个变量......
作为一个例子它应该像这样
foo=myfunction("var1","var2",otherarguments)
(请注意,var1
和var2
之前从未使用过字符串)
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)
但我不确定如何在函数中实现它
答案 0 :(得分:1)
从string
使用vars()
>>> foo="bar"
>>> vars()[foo] = 'qwertry'
>>> print bar # --> 'qwertry'
答案 1 :(得分:1)
编辑:演示返回对绘图的引用供以后使用
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) )