Pythonでプログラミングをしていたら、メモリエラーが出たんだけど…。
なるほど、膨大なデータを処理しているのかな…。
不要な変数を削除すると改善する場合がありますよ!
メモリエラーを改善するため、変数を削除する方法を、
Python歴3年の私ができるだけわかりやすく解説し、解決に導きます。
変数を削除するには
「del」を使います。まずは実行見本をどうぞ。
実行見本
全コード
まずは全コードを網羅します。解説は後ほど行います。
hensu = 100
del hensu
print(hensu)
解説
※わかりやすさを重視しております。厳密には解釈が異なる場合がありますことをご了承ください。
del
del hensu
【 del 変数名 】
この一文で「del」の後ろに書いた変数を削除することができます。
実行見本を見ていただくと、「hensuなんか知らないよ!」というエラーが出ていますので、
変数が削除されていることがわかります。
複数の変数を削除
変数名をカンマで区切れば、複数の変数を削除することができます。
【 del 変数名A, 変数名B, 変数名C,・・・ 】
削除したい変数が複数ある場合は、上記のように記述してください。
「print」は変数の中身を表示させる時に使います。
本来の使い方は、変数の中身を変更した時に、「指定通りに変更されているか」を確認したり表示したりします。
今回は、「del」を使ったて変数を削除した後に「print」を使いました。
そうすると変数は削除されているので、「変数が定義されていない(こんな変数は知らないからこの先プログラムを進められない!)」というエラーが出ます。
今回のように、あえてエラーを出して変数が存在しているかを確認する際にも使えますので、覚えておいてください。
変数を削除する場合の注意点
変数を削除すると、もちろん変数の中に入っていた値や情報も消えてしまいます。
例えばフォルダを削除すると、フォルダ内のファイルも同時に消えるのと同じです。
フォルダやファイルは「ゴミ箱」にひとまず保存されますが、変数は削除した時点で元には戻りません。
2度と復元できない場合もあるため、変数の削除はくれぐれも慎重に行ってください。
変数を削除するメリット
記事冒頭で説明した内容も含みますが、変数を削除するメリットは下記の2つです。
- メモリ使用量を減少させ、メモリエラーを回避できる
- 不要な変数を使用したことによる誤作動を防げる
元データが入った変数など、変換前や整理前のものをなんとなく放置しているプログラムがあるかと思います。
そんなプログラムに新しいコードを追加する際、うっかり元データの変数を使用してしまったら、思わぬ誤作動を引き起こしてしまいます。
変数を削除することで、そんな誤作動を回避することができるわけです。
最後に
変数を削除する方法を解説いたしました。
「del」をうまく活用して、メモリエラーを回避してくださいね!
最後までお読みいただき、ありがとうございました。がんばってください!