Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг
07 Июл 2023
1 мин
1468

Получение исходного кода функции в Python

Часто возникает ситуация, когда необходимо получить исходный код функции в Python. Представим, что есть функция, которая выглядит следующим образом:

Часто возникает ситуация, когда необходимо получить исходный код функции в Python. Представим, что есть функция, которая выглядит следующим образом:

def my_function(arg1, arg2):
    # обработка аргументов
    result = arg1 + arg2
    return result

Можно получить имя функции, используя my_function.__name__. Но что делать, если нужно получить исходный код этой функции? Для этого можно использовать модуль inspect из стандартной библиотеки Python.

Модуль inspect предоставляет несколько функций, которые помогают получить информацию о живых объектах, таких как модули, классы, методы, функции, трассировки, кадры стека и объекты кода. Сюда входит и функция getsource(), которая возвращает текст исходного кода объекта.

Применение этой функции к примеру выше будет выглядеть следующим образом:

import inspect

def my_function(arg1, arg2):
    # обработка аргументов
    result = arg1 + arg2
    return result

source_code = inspect.getsource(my_function)
print(source_code)

После выполнения этого кода в консоли будет выведен исходный код функции my_function.

Таким образом, модуль inspect и его функция getsource() могут быть очень полезными, когда необходимо получить исходный код функции в Python. Однако стоит помнить, что это работает только для функций, определенных в исходном коде (не скомпилированных или встроенных), и код должен быть доступен.

Добавить комментарий