В python у меня есть класс, один из его атрибутов - это какой-то другой класс, который содержит данные, например:
class A:
class Params:
def __init__(self):
self.param1 = None
self.param2 = None
...
def __init__(self):
self.parameters = self.Params()
Таким образом, если кто-то хочет изменить один из параметров в self.parameters
он может написать self.parameters.param1 = ...
.
Я хочу изменить класс Params
, который хранит параметры в словаре
class A:
def __init__(self):
self.parameters = {
'self.param1': None
'self.param2': None
}
Таким образом, если кто-то хочет что-либо изменить, он может вместо этого написать self.parameters['param1'] = ...
. Я реализовал это изменение (в ветке разработки), и оно работает. Проблема в том, что другие люди используют этот код, и если я сделаю это изменение, это сломает их код (это простое исправление, но все же).
Я хотел знать, есть ли способ сделать это таким что если кто-то напишет старым способом (например, parameters.param1 = ...
), он все равно будет работать, но напечатает сообщение DEPRECATED
, когда он это сделает, таким образом я могу сделать окно перехода, в котором люди go со старого способа на новый . Единственный способ, который я придумал, - это если я изменю имя атрибута, я могу сохранить старый код и добавить log.warning
, но я не хочу менять имя атрибута, поэтому, если кто-то может придумать способ для этого было бы здорово :)