delattr() オブジェクトの属性を削除する

最終更新:2026-09-22

delattr() オブジェクトの属性を削除する

delattr(obj, name) は obj 上の属性 name を削除する。del obj.name と等価。

カテゴリ組み込み関数
種類組み込み関数
Python バージョンall

📝 構文

delattr(object, name)

⚙️ 引数

object 必須The object to delete the attribute from.
name 必須The attribute name as a string.

戻り値:None.

💥 例外

▶ 例

下のコードを編集し「実行」をクリックすると、出力パネルに結果が表示されます:

実行結果:

False
さらに多くのケースは近日公開予定です。

❓ よくある質問

Qdelattr(obj, 'x') と del obj.x の違いは何ですか?
A機能は完全に等価です。delattr の利点は属性名を変数や動的文字列にできることで、名前指定で属性を削除する場面に適しています。
Q存在しない属性を削除するとどうなりますか?
AAttributeError を投げます。del obj.nonexist と同じ動作です。削除前に hasattr() で確認できます。
Qdelattr でメソッドを削除できますか?
Aできます。メソッドもクラス属性です。delattr(instance_or_class, 'method') で削除すると、その後にインスタンスでそのメソッドを呼ぶと AttributeError になります。
Qname 引数はどの型でなければなりませんか?
A文字列である必要があります。他の型(数字など)を渡すと TypeError になります。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%