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

Имя метода из переменной в ООП в Python

По аналогии с названиями свойств в переменной также можно хранить и имена методов. Давайте посмотрим на примере. Пусть у нас дан вот такой класс User с геттерами свойств:

class User: def __init__(self, name, surn): self.__name = name self.__surn = surn def get_name(self): return self.__name def get_surn(self): return self.__surn

Создадим объект этого класса:

user = User('john', 'smit')

Пусть в переменной хранится имя метода:

method = 'get_name'

Давайте вызовем метод с именем из переменной. Сначала получим метод функцией getattr, затем вызовем его:

method = 'get_name' print(getattr(user, method)()) # выведет 'john'

Дан следующий класс:

class Employee: def __init__(self, name, salary, position): self.__name = name self.__salary = salary self.__position = position def get_name(self): return self.__name def get_salary(self): return self.__salary def get_position(self): return self.__position

Дан словарь:

methods = { 'method1': 'get_name', 'method2': 'get_salary', 'method3': 'get_position', }

Создайте объект класса Employee, а затем обратитесь к его методам через элементы словаря.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить