Курс Python → Вызов функций по строке в Python.
Для вызова функций или методов по строке в Python можно использовать несколько приемов. Один из лучших способов — это создание словаря, в котором ключами будут строки, а значениями — соответствующие функции или методы. Такой подход позволяет легко вызывать функции, даже если их названия не совпадают с передаваемой строкой. Например:
def function1():
print("Function 1 called")
def function2():
print("Function 2 called")
functions = {
"func1": function1,
"func2": function2
}
choice = "func1"
if choice in functions:
functions[choice]()
Еще одним способом является использование встроенной функции getattr, которая позволяет получить объект по его имени. Например, если у нас есть класс с методами:
class MyClass:
def method1(self):
print("Method 1 called")
def method2(self):
print("Method 2 called")
obj = MyClass()
method_name = "method1"
getattr(obj, method_name)()
Также можно использовать функции locals или eval для вызова функций по строке, но данный подход не рекомендуется из-за потенциальных проблем с безопасностью и читаемостью кода. Например:
def my_function():
print("My function called")
function_name = "my_function"
# Использование locals
locals()[function_name]()
# Использование eval
eval(function_name + "()")
В итоге, для вызова функций или методов по строке в Python рекомендуется использовать словарь с функциями или методами, либо функцию getattr. Эти методы обеспечивают безопасность и удобство в работе с вызовом функций по строке.
Другие уроки курса "Python"
- Функция format() в Python
- Инверсия списка и строки в Python
- Переворот последовательности
- Измерение времени выполнения кода
- Транспонирование матрицы
- Обработка исключений в Python
- Оператор zip в Python
- f-строки в формате строк
- Работа со словарями Python
- Преобразование объекта в строку
- Комментарии в Python
- Генераторы в Python
- Метод Event.wait() в Python
- Основы работы со списками
- Фильтрация входных данных в Python
- Поиск уникальных элементов строкой в Python
- Аннотации типов в Python
- Настройка вывода NumPy
- Управление виртуальными средами в Python
- Подписка на @SelectelNews
- HTTP-запросы с библиотекой Requests
- CLI-инструмент howdoi
- Метод join() для объединения элементов
- EMOT преобразование эмодзи в текст
- Подсчет часто встречающихся элементов
- Генераторы и сеты в Python
- Закрытие файла в Python
- Принцип одной функции
- Создание задания в Cron
- Цикл for в Python
- Векторизация в Python с NumPy.
- Область видимости переменных
- Декораторы в Python
- Решение переменной Шредингера
- Протокол управления контекстом
- Блок else в обработке исключений
- Retrying в Python: повторные вызовы
- Метод ior для битовых операций
- Python Менеджер контекста
- Форматирование строк в Python
- Получение обратного списка чисел
- Переворот списка в Python
- Отрицательные индексы списков
- Конкатенация списков в Python
- Работа с часовыми поясами в Python
- Добавление цвета в консоли
- Метод radd для пользовательских чисел















