Python にクロージャが無いのはオフサイドルールの犠牲になったんだと思うわ。

クロージャはデータだから、引数の位置や代入分の右辺の位置でも定義可能にしないと
いけない訳だけど、Python ではそれらの位置にブロックを書かせる(=インデントを
書かせる)のは都合が悪い。関数の 3 番目の引数からインデントが始まるコードなんて
誰も読みたくないからね。

インデントが強制されない、他の言語では何の問題も無い話だけどね。