在 vtk 中,执行一个命令需要:
funobj=vtk.fun()
funobj.setinput(inobj)
funobj.seta(100)
funobj.setb(200)
funobj.setb(300)
funobj.update()
outobj=funobj.getoutput()
而不是
outobj=inobj.fun(a=100,b=200,c=300)
还要哪些场见的包是这样的?如此繁琐的原因是什么?
1
samnya 21 小时 57 分钟前 via iPhone
每个函数的返回值应该是自己吧,可以链式调用下来的,这个叫 builder 模式
比如 funobj.setinput(inobj) .seta(100) .setb(200) |
2
yolee599 21 小时 39 分钟前
试试这样:
outobj = vtk.fun().setinput(inobj).seta(100).setb(200).setb(300).update().getoutput() |
3
passive 21 小时 27 分钟前 via Android
我喜欢第一种,第二种很可能要用*args 和**kargs ,不够清晰。
Python 用作胶水语言比较多,第一种能原模原样的胶过去,连文档都不需要为 Python 单独写。 |
4
renmu 21 小时 8 分钟前 via Android
灵活性更好,你可以自己封装一下
|