if False:
a = 1
print(a)

これは None ではなく エラー
PHP でも同じ
JavaScript の var なら hoisting されてスコープの最初で宣言されることになるのでエラーにはならず undefined

これでエラーになると 結局ブロック直前で初期化の代入が必要
ブロックスコープじゃないのにブロックスコープの不便なところは真似しないといけない
Python の場合は var みたいな特殊な宣言文じゃなくてただの代入だから難しいんだろうけど
いっそブロックスコープにしてくれたらよかったのに