Answer
t.me/python_tesstОтвет:
Set X
Get X
10
Set X
Get X
20
Объяснение:
С помощью специального механизма свойств класса можно внести корректировки в работу с оператором точки, присвоив ему собственные функции. В следующем примере представлен класс с приватным полем x, для которого написаны getter и setter. С помощью присвоения полю x специального значения функции property, получающей в качестве аргументов имена методов, можно настроить работу оператора точки согласно своим нуждам. Как видно из результатов выполнения кода, методы __get_x и __set_x работают с помощью оператора точки, вызываясь самостоятельно. Таким образом, упрощается написание кода при изменении свойств объекта, а также повышается уровень безопасности данных.
Код:
class Data:
def __init__(self, x):
self.__set_x(x)
def __get_x(self):
print("Get X")
return self.__x
def __set_x(self, x):
self.__x = x
print("Set X")
x = property(__get_x, __set_x)
data = Data(10)
print(data.x)
data.x = 20
print(data.x)