Pythonでオブジェクトから属性を削除するdelattr関数の使い方です。(Pythonの標準関数です。)
属性とは
クラスのメンバ変数(数字、文字)を属性と呼んでいるようです。
delattr関数によって例えばnameという文字の属性(変数)を削除することが出来ます。
delattr関数の使い方
delattr(object,name)
objectはクラス名、nameは削除する属性(変数)名です。
# -*- coding: utf-8 -*-
# テスト用のクラス
class testclass:
#この時点では中身は何も定義しない
pass
# クラスに名前属性と名前を追加
setattr(testclass,"name","abc")
# クラスに数字属性と数字を追加
setattr(testclass,"number",123)
# 属性が入ったか取り出して確認する
print(getattr(testclass,"name"))
print(getattr(testclass,"number"))
# 属性を削除する
delattr(testclass,"number")
# 属性が削除されているか確認する
print(getattr(testclass,"name"))
print(getattr(testclass,"number"))
testclassにnameに”name"とい"う属性を追加し、"abc"という文字列をセットしています。
その後属性を削除し、再度表示しています。
実行結果は以下の通りです。
abc
123
abc
AttributeError: type object 'testclass' has no attribute 'number'
numberという属性をdelattr関数により削除したため、最後の行はエラーになっています。(エラーが出ているのは正しい動作です)