有没有办法用装饰器替换功能部件?

时间:2019-11-11 15:51:52

标签: python decorator

对于我来说,装饰器是个新手。在我发现的在线示例中,人们使用它们为以前定义的功能添加了额外的功能。我想知道是否有办法更改传递给装饰器的部分功能。如果不是,是否还有其他方法(无需重写或向现有函数添加新参数)?

比方说,我正在为游戏编写简单的mod,我想在一段时间内使用它,然后保留此功能,然后回到create函数的旧定义。这就是为什么我不想修改它。当然,最简单的方法是在这些位置添加一些参数,但是我正在尝试学习一些新的,更优雅的方法。您能为我提供适当的解决方案吗?

我将尝试在示例中演示我想要得到的东西:

    def create(self, vertices):
        glBegin(GL_LINES) #glBegin(GL_QUADS)
        for element in self.operation():
            for vertex in self.element.get_edges(): #for vertex in self.element.get_surfaces()
                glColor3fv(self.color)  #glColor3fv((0.5, 0, 0))
                glVertex3fv(vertices[vertex])
        glEnd()

在评论中,我写了一些我想临时替换的内容。

0 个答案:

没有答案