Доступ к частным переменным
Такой доступ к частным переменным (без их изменения!) - насколько безопасен и приемлим?
class MyClass:
def __init__(self):
self.__private_var = 66
class_instance = MyClass()
print(class_instance._MyClass__private_var)
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
Private переменные: доступны только внутри класса
с префиксом двойного подчеркивания (__)
.
Тем не менее, можно получить к нему доступ, используя версию с искаженным именем,
print(class_instance._MyClass__private_var)
хотя это не рекомендуется.
Делайте так:
class MyClass:
def __init__(self, var):
self.__private_var = var
def display_private_var(self):
print(f"__private_var: {self.__private_var}") # Доступно внутри класса
class_instance = MyClass(66)
class_instance.display_private_var()