Декораторы для меня совсем новые. В примерах, которые я обнаружил в Интернете, люди используют их для добавления дополнительных функций к определенным ранее функциям. Интересно, есть ли способ изменить части функции, передаваемой декоратору? Если нет, то есть ли какой-либо другой способ сделать это (без переписывания или добавления новых параметров в существующую функцию)?
Допустим, я пишу простой мод для своей игры и хотел бы использовать его в течение некоторого периода времени. затем оставьте эту функцию и вернитесь к старому определению функции 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()
В комментариях я написал вещи, которые я хотел бы временно заменить.