Вы можете добавить секцию в секцию __init__
, которая, возможно, сохраняет входные переменные?
class MyThing:
def __init__(self, arg1, arg2):
self.arg1 = arg1
self.arg2 = arg2
self.initial_settings = [arg1, arg2]
Тогда, пока вы никогда не перезаписываете self.initial_settings
, в ней будут храниться значения, которые были инициализированы (оставляя вас свободными, например, изменить self.arg1
).Вы также можете включить некоторую логику if
, чтобы определить, был ли параметр по умолчанию перезаписан при создании (хотя я не верю, что есть способ определить, было ли введено начальное значение, равное значению по умолчанию).В противном случае, я думаю, вам придется использовать dir(some_object_instance)
для определения текущих атрибутов, но я не думаю, что есть какой-либо другой способ определения начальных атрибутов, кроме хранения их во время инициализации ...