Pythonでdel文を使用しメモリをクリア、もしくはオブジェクトを削除する

Pythonでdel文を使用しメモリをクリア、もしくはオブジェクトを削除してみます。

del文を使用すると、オブジェクトを削除する、または、変数、リスト、またはリストの一部などを削除することができます。

■Python

Google Colaboratory(Google Colab),Python3.7.10

■変数内に格納した値を削除する

では、del文を使用し変数内に格納した値を削除してみます。

■コード

test = 100

del test

print(test)

今回はtestという変数を定義し、その中に「100」という数値を格納してみます。格納後、del文を使用し、test変数を指定し、test変数内の数値を削除(クリア)にしてみます。

削除(クリア)後、test変数内の情報をprint()関数で出力します。

■実行・検証

このスクリプトを実行してみます。

—————————————————————————
NameError Traceback (most recent call last)
<ipython-input-1-8d2e122e473b> in <module>()
3 del test
4
—-> 5 print(test)

NameError: name ‘test’ is not defined

実行してみると、上記のNameErrorというエラーが発生しました。これは正常なエラーです。del文を使用し、test変数内の数値を削除(クリア)にしていますので、test変数内には何も存在しません。そのため「name ‘test’ is not defined(名前「test」が定義されていません)」というエラーが発生しました。

■リストを定義しリスト内の要素を削除する

では、次にリストを定義しリスト内の要素を削除してみます。

■コード

test_list = [10,20,30,40,50]

del test_list

print(test_list)

今回はtest_listというリストを角括弧([])を使用し、定義します。定義したリスト内に要素(今回は数値)を格納します。これでリストは完成となります。

格納後、del文を使用し、test_listを指定し、test_list内の要素を削除(クリア)にしてみます。

■実行・検証

スクリプトを作成後、このスクリプトを実行してみます。

実行してみると、先ほど同じNameErrorというエラーで「name ‘test’ is not defined(名前「test_list」が定義されていません)」という内容ですので、test_list内の要素が削除されていることが確認できました。

■リストの特定の項目を削除する

■コード

test_list = [10,20,30,40,50]
del test_list[0]
print(test_list)

なお、定義したリストから特定の項目の要素を削除する場合は、del文を使用し、test_listを指定し、その後に角括弧([])を使用します。角括弧([])内には、リストの項目の順番を指定します。リストは「0」から始まります。今回は「0」としています。これでリスト内で0番目の項目を削除し、リスト内の残りの項目は削除されません。

■クラスを定義しオブジェクトを削除する

では、次にクラスを定義しオブジェクトを削除してみます。

■コード

class test:
  string = "Hello,World!"

del test

print(test)

今回はtestというクラスを定義します。定義したクラス内にstringというクラス変数を定義し、その中に文字列を格納します。

格納後、del文を使用し、定義したtestクラスを指定します。

指定後、print()関数でtestクラス内の情報を出力します。

■実行・検証

このスクリプトを実行してみます。

実行してみると、NameErrorというエラーで「name ‘test’ is not defined(名前「test」が定義されていません)」という内容が出力されましたので、オブジェクトが削除されていることが確認できました。

コメント

タイトルとURLをコピーしました