如何在 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)
我之前也用函数做过类似的事情。无法使用方法来做到这一点将需要我重写大量的代码......
您可以创建方法列表names然后使用getattr()访问方法:
instructions = ["shrink", "grow", "shrink"]
for i in instructions:
getattr(elephant, i)()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)