Да. Это называется вложенной функцией (nested function).
Пример: def testingfunc1():
def tstfnc2():
print("Это функция tstfnc2"
print("Это функция testingfunc1"
tstfnc2() # Вызов вложенной функции
testingfunc1() Объяснение:
def testingfunc1() - определяет внешнюю функцию testingfunc1.
def tstfnc2() - определяет вложенную функцию tstfnc2 внутри testingfunc1.
print("Это функция tstfnc2" - код в tstfnc2, который выводит строку.
print("Это функция testingfunc1" - код в testingfunc1, который тоже выводит строку.
tstfnc2() - вызов вложенной функции tstfnc2 из testingfunc1.
Вложенная функция является локальной для внешней функции. Она доступна и напрямую может быть вызвана только внутри внешней функции. Вложенные функции применяются для улучшения читаемости кода, для создания частных функций, замыканий и декораторов.
def testingfunc1():
def tstfnc2():
return "Hello from tstfnc2!"
# Вызов вложенной функции
result = tstfnc2()
return result
# Вызов внешней функции
print(testingfunc1())
В этом примере tstfnc2 — это вложенная функция, которая возвращает строку.
Внешняя функция testingfunc1 вызывает tstfnc2 и возвращает её результат.
Когда вы вызываете testingfunc1, она возвращает строку "Hello from tstfnc2!".