创建要在Python中执行的方法列表

use*_*133 1 python iteration methods list

我真的希望有一些方法可以做到这一点:

如何在python中创建一个方法列表以应用于对象?

给定一些任意类:

class someClass:
    def __init__(self, s):
        self.size=s
    def shrink(self):
        self.size-=1
    def grow(self):
        self.size+=1
    def invert(self):
        self.size= -self.size
Run Code Online (Sandbox Code Playgroud)

我希望能够像这个列表一样编写一个可迭代的对象:

instructions=[shrink,grow,shrink,shrink,grow,invert]
Run Code Online (Sandbox Code Playgroud)

要在以后运行for循环:

elephant=someClass(90)
sizeList=[]
for ins in instructions:
    elephant.ins()
    sizeList.append(elephant.size)
Run Code Online (Sandbox Code Playgroud)

我以前做过类似功能的事情,不能用方法做到这一点会要求我重写一些令人生畏的代码...

Jor*_*ley 5

instructions = ["shrink","grow","shrink"]
for i in instructions:
     getattr(elephant,i)()
Run Code Online (Sandbox Code Playgroud)