LoginSignup
1
1

More than 1 year has passed since last update.

python基礎(continue, break,with)

Last updated at Posted at 2021-09-08

はじめに

Pytorchでディープラーニングの学習をつくりながら学ぶ!PyTorchによる発展ディープラーニングを参考に進めているのですが、いざ学習のところでcontinueやwithが出てきてなんとなくの理解だったのでbreakとセットでまとめます。

continue

for文での処理中に使用する。

continueを使うとそれ以降の処理をせずにfor文の先頭に戻って次の値から 繰り返し処理を再開する。

for i in range(5):
    if i == 2:
        continue
    print(i)
実行結果
0
1
3
4

iに0~4までの整数値を代入していき、それを表示する処理。
if文でiが2の時はcontinueとすることで、printされない。

Pytorchでは、epochが0の時は学習を省略するなどの例がある。

break

breakもfor文の中で使い、それ以降の処理を行わず、for文の繰り返し処理も中断する。

for i in range(5):
    if i == 3:
        break
    print(i)
実行結果
0
1
2

iに0から4までの整数値を代入していく。iが3の時にbreakとなっているので、そこで以降の処理は行わず、for文の繰り返し処理も中止となりiに4を代入することなく終了。

Pytorchの例で考えれば、学習結果があまり変化ない時に強制的に学習を中断するとかで活用できるのかな。

with

開始と終了がセットになる処理においてwithを使うと終了の処理を書かなくても、自動的に終了してくれるもの。

with open('sample.txt', 'r') as f:
    print(f.read())

ファイルを開いた場合、必ず閉じる必要があるが、with文を使えばf.close()という閉じる処理を書かなくて済む・書き忘れてエラーになることがない・コードが短くなるなどのメリットが。

Pytorchの例だと、trainモードの時には損失を必ず計算して、evalモードの時にはしないなどで活用する。

まとめ

こういう基礎も怠らず、理解していきたい。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1