宣言が必要と思うのは、入れ物を用意しないとと思うからで、
int i
と書くと整数の入れ物が、
float i
と書くと実数の入れ物が用意される

でもpythonは、いきなり
i = 1
と書くと整数が入るし、
i = 'abc'
だと文字列が入る

自由すぎやろと
何かの哲学に違反してねえかと

実際には、オブジェクトの入れ物でしか無いから、中身は何でもいいんだよな