Забавно, но на Python его можно тоже сделать )
Но тут от него пользы мало, т.к. оно становиться магией, которая в программировании ненужна и вредна. Не понимая как это работает невозможно его изменить!
Вот довольно старая статья 2011 года с размышлениями об этом
Misunderstanding Laziness in Python Вкратце мы можем создать функцию которая вернет функцию, потом придется полученный "указатель" на новую функцию разыменовывать через скобки (). В итоге вызов функции не произойдет сразу, а только при разыменовании. Это есть в Haskell и там это делает компилятор.
Выбирай инструмент по задаче. Не надо молоток перетачивать в отвертку, чтобы закручивать винты - возьми отвертку.