Чтобы вызвать функцию в Python с использованием строки, вы можете использовать следующие методы:
- eval(): функция eval() может оценивать строку как выражение Python и выполнять ее как код. Вы можете передать имя функции в виде строки, и eval() выполнит соответствующую функцию.
Пример:
def greet():
print("Hello, world!")
function_name = "greet"
eval(function_name + "()")
- getattr(): функция getattr() возвращает значение именованного атрибута объекта. Вы можете передать объект и имя функции в виде строки в метод getattr(), который вернет объект функции, а затем вы сможете его вызвать.
Пример:
class MyClass:
def greet(self):
print("Hello, world!")
obj = MyClass()
function_name = "greet"
getattr(obj, function_name)()
- globals(): функция globals() возвращает словарь, представляющий текущую глобальную таблицу символов. Вы можете использовать его для доступа к глобальным функциям по их именам в виде строк.
Пример:
def greet():
print("Hello, world!")
function_name = "greet"
globals()[function_name]()