Python で del キーワードを使用する
Muhammad Maisam Abbas
2023年1月30日
-
Python の
del
ステートメントで変数を削除する -
Python で
del
文を使ってリストを削除する -
Python の
del
文で辞書要素を削除する -
Python の
del
ステートメントでユーザ定義クラスオブジェクトを削除する
このチュートリアルでは、Python の del
文の使い方について説明します。
del
文はオブジェクトを削除するために使われます。Python のオブジェクト指向の性質上、データを保持できるものはすべてオブジェクトです。そのため、del
文は変数やクラスオブジェクト、リストなどを削除できます。
del
文の構文は以下の通りです。
del object_name
これはローカルとグローバルの両方の名前空間から object_name
を削除することで動作します。
Python の del
ステートメントで変数を削除する
variable = "This is a variable"
print(variable)
del variable
print(variable)
出力:
This is a variable
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-1-f9a4f1b9bb9c> in <module>()
2 print(variable)
3 del variable
----> 4 print(variable)
NameError: name 'variable' is not defined
上のプログラムは variable
の値を表示した後に NameError
を返しました。これは del
文を使った後に variable
が名前空間から削除されたためです。
Python で del
文を使ってリストを削除する
List = ["One", "Two", "Three"]
print(List)
del List
print(List)
出力:
['One', 'Two', 'Three']
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-2-edd546e00a8e> in <module>()
2 print(List)
3 del List
----> 4 print(List)
NameError: name 'List' is not defined
前の例と同様に、名前 List
が名前空間から削除されました。
また、del
文を使ってリストをスライスすることもできます。
List = ["One", "Two", "Three"]
print(List)
del List[1]
print(List)
出力:
['One', 'Two', 'Three']
['One', 'Three']
インデックスが 1 の list 要素を削除します。
Python の del
文で辞書要素を削除する
dictionary = {"key1": "value1", "key2": "value2", "key3": "value3"}
print(dictionary)
del dictionary["key2"]
print(dictionary)
出力:
{'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
{'key1': 'value1', 'key3': 'value3'}
Python の del
ステートメントでユーザ定義クラスオブジェクトを削除する
class MyClass:
def myFunction(self):
print("Hello")
class1 = MyClass()
class1.myFunction()
del class1
class1.myFunction()
出力:
Hello
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-23-26401eda690e> in <module>()
6 class1.myFunction()
7 del class1
----> 8 class1.myFunction()
NameError: name 'class1' is not defined
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn