Здесь вам нужно вернуть son ()
def parent(x="Hello"):
text = x
def son():
print(text)
return son # return son()
print(parent())
Здесь вы получите результат разницы, потому что ссылаетесь на akin ()
def parent(x="Hello"):
text = x
def son():
print(text)
return son
akin = parent()
akin() # print(akin) will get the same output of first program
Разница заключается в том, что каждая функция имеет адрес памяти,если вы ссылаетесь на функцию без скобок (), вы получите адрес этой функции.Итак, в вашей первой программе вы возвращаете адрес памяти функции, чтобы вы могли получить доступ к содержимому с помощью parent () () или вернуть фактическое значение из функции вместо возврата адреса