setattr() 属性の設定

最終更新:2026-09-22

setattr() 属性の設定

setattr(obj, name, value) は obj の属性 name を value に設定する。obj.name = value と等価。

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

📝 構文

setattr(object, name, value)

⚙️ 引数

object 必須The object whose attribute is set.
name 必須The attribute name (string).
value 必須The value to assign.

戻り値:None; the attribute is set in place.

💥 例外

▶ 例

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

実行結果:

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

❓ よくある質問

Qsetattr(obj, 'x', 100) と obj.x = 100 に違いはありますか?
A機能的に等価です。setattr の利点は、属性名を変数や動的に計算された文字列にできることで、リフレクティブなプログラミングに適しています。
Qsetattr の代表的な用途は?
A設定の読み込みやオブジェクトのマッピングです。for k, v in config.items(): setattr(obj, k, v) で辞書を一括でオブジェクトの属性に変換できます。
Q読み取り専用の属性に代入するとどうなりますか?
AAttributeError: can't set attribute が発生します。例えば getter しか定義していない property への代入が該当します。
Q__slots__ を定義したクラスに任意の属性を set できますか?
Aできません。__slots__ で宣言した属性名しか設定できず、それ以外の名前を設定すると AttributeError になります。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%