I am trying to deprecate property of class.
class A:
def __init__(self,
variable1: int,
##to be deprecated
variable2: int )
{....}
Expected behaviour: If user tries to use variable 2 he should get warning that its deprecated.
Advertisement
Answer
You can implement variable2 as a property.
import warnings
class A:
def __init__(self, variable1: int, variable2: int):
self.variable1 = variable1
self._variable2 = variable2
@property
def variable2(self):
warnings.warn('The use of variable2 is deprecated.', DeprecationWarning)
return self._variable2
@variable2.setter
def variable2(self, value: int):
warnings.warn('The use of variable2 is deprecated.', DeprecationWarning)
self._variable2 = value