Курс 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"
- Enum в Python
- Копирование и вставка текста в Python
- Проверка ввода с помощью isdigit
- Генерация случайных чисел в Python
- Функция enumerate() в Python
- Работа со строками в Python
- Генераторы в Python
- Класс Counter() для подсчета элементов
- Деление в Python
- Генератор надежных паролей
- Кортеж в Python: создание и использование
- Преобразование вложенного списка
- Numpy: объединение массивов
- Реверс строки и списка в Python.
- Функция zip() в Python
- Возврат нескольких значений
- Отрицательные индексы списков в Python
- Flask: создание веб-приложений
- Установка Home Assistant
- Транспонирование матрицы
- Оператор морж в Python 3.8
- Генераторы в Python
- Функция sleep() в Python
- Python: изменяемые и неизменяемые коллекции
- Загрузка постов Instagram
- Запуск внешнего кода в Jupyter
- Подробная информация о %pinfo
- Логирование в Python
- Повторение элементов в Python
- Многопроцессорное программирование в Python
- Создание директории в Python
- Работа с CSV файлами в Python
- Проверка кортежей.
- Определение имен функций
- Приближение чисел в Python
- Оператор * в Python
- Удаление дубликатов из списка
- Регистрация на TenChat
- Подписка на SelectelNews в Twitter
- Определение основы слова с showballstemmer
- Генерация случайных чисел в Python
- Преобразование букв в нижний регистр
- Переопределение метода __rshift__
- Функция zip() в Python
- Модуль sys: основы
- Декоратор для группы пользователей в Django















