小编Dmi*_*try的帖子

如何为对象列表调用相同的方法?

假设这样的代码:

class Base:
    def start(self):
        pass
    def stop(self)
        pass

class A(Base):
    def start(self):
        ... do something for A
    def stop(self)
        .... do something for A

class B(Base):
    def start(self):

    def stop(self):

a1 = A(); a2 = A()
b1 = B(); b2 = B()

all = [a1, b1, b2, a2,.....]
Run Code Online (Sandbox Code Playgroud)

现在我想为列表中的每个对象调用方法start和stop(也许还有其他).除了写一堆像这样的函数之外,还有什么优雅的方法吗?

def start_all(all):
    for item in all:
        item.start()

def stop_all(all):
Run Code Online (Sandbox Code Playgroud)

python

62
推荐指数
6
解决办法
8万
查看次数

标签 统计

python ×1