Часто возникает ситуация, когда необходимо получить исходный код функции в 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. Однако стоит помнить, что это работает только для функций, определенных в исходном коде (не скомпилированных или встроенных), и код должен быть доступен.
Добавить комментарий