Пишу что-то типа notepad++. Файл открывается в редакторе, и если пользователь поменял текст, но еще не сохранил его, то вкладка с именем файла должна покраснеть, типа есть несохраненные изменения. Для этого создал класс, который описывает файл. И там сделал свойство self.code в неё записывается изначальное содержимое файла. И добавил еще свойство self.new_code, в него записываю измененный пользователем текст. Потом просто сравниваю
if self.code != self.new_code:
return True
Если пользователь сохраняет файл, то делаю просто:
self.code = self.new_code
И вот таких свойств у меня куча. Может как-то более элегантно можно решить задачу отслеживания изменений параметров?