4 способа получить имя функции в виде строки в Python

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

Метод 1: использование атрибута name

def my_function():
    pass
function_name = my_function.__name__
print(function_name)  # Output: "my_function"

Метод 2. Использование модуля проверки

import inspect
def my_function():
    pass
function_name = inspect.getframeinfo(inspect.currentframe()).function
print(function_name)  # Output: "my_function"

Метод 3. Использование атрибута qualname (для вложенных функций и методов)

def outer_function():
    def inner_function():
        pass
    return inner_function
function_name = outer_function().__qualname__
print(function_name)  # Output: "outer_function.<locals>.inner_function"

Метод 4. Использование декораторов (для обертывания функции и извлечения ее имени)

def get_function_name(func):
    def wrapper(*args, kwargs):
        print(func.__name__)  # Output: "my_function"
        return func(*args, kwargs)
    return wrapper
@get_function_name
def my_function():
    pass
my_function()

, проверка модуля, вложенные функции, декораторы