В Python имя функции, как и все остальные объекты, обладает свойствами, доступ к которым можно получить при помощи встроенных функций и методов. В статье мы подробно рассмотрим разные способы определения имени функции.
В Python каждая функция обладает рядом свойств, которые доступны через специальные имена, начинающиеся и заканчивающиеся двумя подчеркиваниями. Одно из таких свойств — __name__
, которое содержит имя функции.
def my_function():
pass
print(my_function.__name__)
#my_function
В этом примере my_function.__name__
вернул строку my_function
, которая является именем функции.
Модуль inspect
в стандартной библиотеке Python предоставляет несколько функций для получения информации о функциях и других объектах. Одной из таких функций является inspect.getsource()
, которая возвращает исходный код функции в виде строки.
import inspect
def my_function():
pass
def get_name(func):
lines = inspect.getsource(func).splitlines()
first_line = lines[0]
name = first_line.split()[1].split('(')[0]
return name
print(get_name(my_function))
#my_function
В этом примере get_name()
использует inspect.getsource()
для получения исходного кода функции, затем извлекает первую строку этого кода и извлекает имя функции из этой строки.
В Python есть несколько способов определить имя функции. Самый простой и прямой способ — использовать свойство __name__
функции. Наконец, можно использовать модуль inspect
из стандартной библиотеки Python для извлечения исходного кода функции и поиска ее имени в этом коде.
Содержание: