Skip to main content
 首页 » 编程设计

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

2025年05月04日10jackei

如何在 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 

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

instructions = [shrink, grow, shrink, shrink, grow, invert] 

稍后通过 for 循环运行:

elephant = someClass(90) 
sizeList = [] 
for ins in instructions: 
    elephant.ins() 
    sizeList.append(elephant.size) 

我以前用函数做过类似的事情。如果无法使用方法来做到这一点,我将需要重写数量惊人的代码...

请您参考如下方法:

您可以创建方法名称 的列表,然后使用getattr()访问方法:

instructions = ["shrink", "grow", "shrink"] 
for i in instructions: 
     getattr(elephant, i)()