Pythonでループさせる処理についてのまとめです。
スクレイピングなどではサーバ負荷をかけないようにループ中に間隔をあけたりしたい場合がありますのでそのあたりも紹介します。
ループ文の書き方
forでカウント
ループ文はrange関数を使って書くと書きやすいです。
以下は1~10までの処理を実行させます。
for i in range(1, 11):
print(i)
PHPなどの場合は通常以下のように書きます。
for(i=1;i<11;i++){
print(i);
}
配列から取得
配列から値を取り出すには以下のように書くことができます。
Teams = ['softbank', 'lotte', 'rakuten']
for name in Teams:
print(name)
ループから抜ける
ほかの言語同様に「break」コマンドで抜けます。
PHPのdieのように、プログラム自体を止めるには「sys」モジュールで「exit」コマンドを実行します。
import sys
sys.exit()
ループ中の処理TIPS
ウェイトをかける
スクレイピングではループをガンガン回すとサーバに負荷をかけまくりになってしまいます。
ループ文を使った場合でも適宜処理を停止させるには「sleep」をはさませます。「time」モジュールをimportしておていから「sleep」で秒数を指定します。
import time
time.sleep(秒数)
以下のように書くと、ちょっと間をおいてから(0.5秒)配列の内容を表示します。
Teams = ['softbank', 'lotte', 'rakuten']
for name in Teams:
print(name)
time.sleep(0.5)
ゲージを表示する
ループを実行中に画面に何も出ないと、フリーズなのか動作しているかわかりません。
そこで処理がどのぐらい進んでいるかゲージ表示してあげるとわかりやすいです。
便利なモジュール「tqdm」がありますので先に「pip install tqdm」でインストールしておきましょう。
Visual Studioでのpipインストール方法は以下参照ください。
【Visual Studio 2019】Pythonの始め方 インストールは?PIPは? - 困ったー
以下のように書くと...
from tqdm import tqdm
for i in tqdm(range(1000000)):
pass
ゲージが表示されます。簡単で便利です。