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