擅长:python、mysql、java
<p>我能想到的最贴切的事情就是利用Python函数也是类的属性(<em>callable</em>attributes)这一事实,因此您可以按名称“获取”它们并调用它们。。。</p>
<pre><code>#!/usr/bin/env python
# -*- coding: utf-8 -*-
class Simulation(object):
def addGroup(self, groupToAdd):
print "Group to add: %s" % groupToAdd
def addNode(self, inputType, inputChannel):
print "My inputs: %s, channel: %s" % (inputType, inputChannel)
if __name__ == "__main__":
simulation = Simulation()
functionsToCall = [
("addGroup", "teapotarmy"),
("addNode", "input", "INPUT"),
]
for functionToCall in functionsToCall:
getattr(simulation, functionToCall[0])(* functionToCall[1:])
</code></pre>
<p>但这可能会使您的代码比以前更加混乱。如果其他人必须修改你的代码,这可能会使他的任务复杂化。。。相当多。<strong>:)</strong></p>
<p>更多信息:<a href="https://stackoverflow.com/questions/111234/what-is-a-callable-in-python">Callables</a>,<a href="http://hangar.runway7.net/packing-and-unpacking-arguments-in-python" rel="nofollow noreferrer">packing parameters</a>。</p>