对于我来说,装饰器是个新手。在我发现的在线示例中,人们使用它们为以前定义的功能添加了额外的功能。我想知道是否有办法更改传递给装饰器的部分功能。如果不是,是否还有其他方法(无需重写或向现有函数添加新参数)?
比方说,我正在为游戏编写简单的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()
在评论中,我写了一些我想临时替换的内容。