>>> import tqdm
>>> from tqdm import tqdm
>>> import time
>>> for i in tqdm(range(100)):
    time.sleep(1)

これを実行すると

  0%|          | 0/100 [00:00<?, ?it/s]
  1%|1         | 1/100 [00:01<01:40,  1.02s/it]
  2%|2         | 2/100 [00:02<01:39,  1.01s/it]
  3%|3         | 3/100 [00:03<01:38,  1.01s/it]

(略)

 98%|#########8| 98/100 [01:40<00:02,  1.02s/it]
 99%|#########9| 99/100 [01:41<00:01,  1.02s/it]
100%|##########| 100/100 [01:42<00:00,  1.02s/it]

という風に全100行分(実際は改行なしで)表示されます。
これが正しい挙動なのでしょうか?