Python:使用给定的参数集调用对象的所有方法
我想使用给定的参数集调用 python 对象实例的所有方法,即对于像
class Test():
def a(input):
print "a: " + input
def b(input):
print "b: " + input
def c(input):
print "c: " + input
我想编写一个动态方法这样的对象,允许我
myMethod('test')
来运行结果
a: test
b: test
c: test
通过迭代所有 test() 方法 。预先感谢您的帮助!
I'd like to call all methods of a python object instance with a given set of arguments, i.e. for an object like
class Test():
def a(input):
print "a: " + input
def b(input):
print "b: " + input
def c(input):
print "c: " + input
I would like to write a dynamic method allowing me to run
myMethod('test')
resulting in
a: test
b: test
c: test
by iterating over all test()-methods. Thanks in advance for your help!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不太确定你为什么要这样做。通常在像unittest这样的东西中,您会在类上提供输入,然后在每个测试方法中引用它。
使用检查和目录。
输出:
Not exactly sure why you want to do this. Normally in something like unittest you would provide an input on your class then reference it inside each test method.
Using inspect and dir.
Output:
你真的不想这样做。 Python 附带了两个非常好的测试框架:请参阅文档中的
unittest
和doctest
模块。但你可以尝试这样的事情:
You really don't want to do this. Python ships with two very nice testing frameworks: see the
unittest
anddoctest
modules in the documentation.But you could try something like: