Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗pyOpStMIC 45 of 174 menu
◀ ▶

Статические методы внутри класса в ООП в Python

Если вы хотите использовать статические методы внутри класса, то к ним следует обращаться не через self, а через имя класса.

Для примера добавим в наш класс Math метод get_double_sum, который будет находить удвоенную сумму чисел. Используем внутри нового метода уже существующий метод get_sum:

class Math: # Найдем удвоенную сумму: @staticmethod def get_double_sum(a, b): return 2 * Math.get_sum(a, b) # используем другой метод @staticmethod def get_sum(a, b): return a + b @staticmethod def get_product(a, b): return a * b

Воспользуемся новым методом:

print(Math.get_double_sum(1, 2))

Переделайте методы следующего класса на статические:

class ArraySumHelper: def get_sum1(self, arr): return self.__get_sum(arr, 1) def get_sum2(self, arr): return self.__get_sum(arr, 2) def get_sum3(self, arr): return self.__get_sum(arr, 3) def get_sum4(self, arr): return self.__get_sum(arr, 4) def __get_sum(self, arr, power): sum = 0 for elem in arr: sum += elem ** power return sum
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить