我可以提供Python类方法作为参数吗?

我可以提供Python类方法作为参数吗?,python,class,oop,Python,Class,Oop,我想提供一个类的方法作为参数。下面是我所追求的一个简单的例子 假设我有这样定义的类: class TestClass(object): def __init__(self): self.str1 = [1,2,3,4,5] 现在我想向这个类添加一个新方法,该方法将对该列表执行一些操作。此操作将作为此方法的参数提供。例如,它可能看起来像这样: def testMethod(self, arg1): print self.str1.arg1(1) 其中,arg1

我想提供一个类的方法作为参数。下面是我所追求的一个简单的例子

假设我有这样定义的类:

class TestClass(object):

    def __init__(self):
        self.str1 = [1,2,3,4,5]
现在我想向这个类添加一个新方法,该方法将对该列表执行一些操作。此操作将作为此方法的参数提供。例如,它可能看起来像这样:

def testMethod(self, arg1):
    print self.str1.arg1(1)
其中,
arg1
是一个列表类方法

想法是能够以以下方式调用该方法:

TC = TestClass()
TC.testMethod("index")
并期望从以下方面获得结果:

print self.str1.index(1)
如果按原样运行,我将得到一个
AttributeError
异常:

AttributeError: 'list' object has no attribute 'arg1'

注意:这个问题是为了概括我描述的另一个问题。

我想您正在寻找。将列表实例命名为
str1
(特别是当您在某些地方将其称为“字符串”时)会让人相当困惑。请使用正确的变量名@Blckknght将“字符串”更改为“列表”。但是,无法更改变量名,因为它已出现在下面的可接受答案中。
print getattr(self.str1, arg1)(1)