实例 "called" 时的返回值

Returning value when instance "called"

我想要在 class 上调用某个函数。类似于:

class foo():
    def __init__(self):
        self.img = pygame.Surface((20, 20))
    def magicfunction(self):
        return self.img

bar = foo()

screen = pygame.display.set_mode((200, 200))
screen.blit(bar)

我必须使用哪个魔法功能?

如果我没理解错的话,你想创建一个自己的class,这也是一个表面。这听起来很像继承!尝试使 foo 成为 pygame.Surface 的 child:

class foo(pygame.Surface):
    def __init__(self):
        pygame.Surface.__init__(self, (20, 20))
        more_data = "You should be able to extend this class freely"