🔍 Как получить название функции python: 5 простых способов
__name__
. Ниже приведен пример:
def my_function():
print(my_function.__name__)
my_function() # Выводит "my_function"
Детальный ответ
Как получить название функции Python
В Python существует несколько способов получить название функции. Давайте рассмотрим некоторые из них.
1. Использование функции __name__
def my_function():
print(my_function.__name__)
my_function()
В данном примере мы используем атрибут __name__
объекта функции my_function
. Вызывая этот атрибут, мы получаем строковое значение с именем функции. В результате на экран будет выведено название функции my_function
.
2. Использование функции getattr()
def my_function():
print(getattr(my_function, "__name__"))
my_function()
В этом примере мы используем функцию getattr()
, чтобы получить атрибут __name__
объекта функции my_function
. Этот подход также позволяет получить имя функции и вывести его на экран.
3. Использование модуля inspect
import inspect
def my_function():
print(inspect.currentframe().f_code.co_name)
my_function()
В этом примере мы используем модуль inspect
, который предоставляет функцию currentframe()
для получения текущего объекта кадра. Затем мы используем атрибуты f_code.co_name
объекта кадра для получения имени функции. Вызывая этот код, мы получаем название функции my_function
.
4. Использование декоратора
def get_function_name(func):
def wrapper():
print(func.__name__)
func()
return wrapper
@get_function_name
def my_function():
print("Hello, world!")
my_function()
В этом примере мы создаем декоратор get_function_name
, который печатает имя функции и затем вызывает саму функцию. Применяя этот декоратор к функции my_function
и вызывая ее, мы получаем название функции my_function
и выводим "Hello, world!".
5. Использование библиотеки inspect
import inspect
def my_function():
print(inspect.getframeinfo(inspect.currentframe()).function)
my_function()
В данном примере мы используем функцию getframeinfo()
из модуля inspect
для получения информации о кадре, в котором выполняется код. Затем мы используем атрибут function
полученной информации, чтобы получить имя функции и вывести его на экран.
Заключение
Вышеупомянутые способы предоставляют различные способы получения названия функции в Python. Вы можете выбрать любой из этих подходов в зависимости от вашего конкретного случая использования. Не забудьте применять их корректно и учитывать особенности каждого метода.