Приватные методы в ООП в Python
Приватными могут быть не только свойства, но и методы. Обычно приватными делают вспомогательные методы, чтобы они случайно не могли быть вызваны извне класса.
Давайте посмотрим на примере. Пусть у нас есть следующий класс:
class User:
def __init__(self, name):
self.__name = name
def show(self):
return self.__name
Сделаем в этом классе приватный метод, который параметром будет принимать строку и делать заглавным ее первый символ:
class User:
def __init__(self, name):
self.__name = name
def show(self):
return self.__name
def __cape(self, string):
return string[0].upper() + string[1:]
Воспользуемся нашим вспомогательным методом внутри другого метода:
class User:
def __init__(self, name):
self.__name = name
def show(self):
return self.__cape(self.__name)
def __cape(self, string):
return string[0].upper() + string[1:]
Давайте проверим. Создадим объект нашего класса:
user = User('john')
Вызовем публичный метод, использующий вспомогательный:
print(user.show())
Дан код:
class Employee:
def __init__(self, name, salary):
self.name = name
self.salary = salary
def get_salary(self):
return self.add_sign(self.salary)
def add_sign(self, num):
return str(num) + '$'
Сделайте вспомогательный метод приватным.