組み込み Python オブジェクト タイプの操作
辞書、文字列、リストなどの Python 組み込みオブジェクト タイプは不変であり、望ましいと思われる特定の方法が欠けている。これらのオブジェクトを直接変更することはできませんが、カスタム機能を追加できる手法があります。
サブクラス化と置換
メソッドを追加するには組み込み型に追加した場合、それをサブクラス化し、組み込み名前空間内の元の型をサブクラスで置き換えることができます。こうすることで、組み込み型のすべてのインスタンスが追加された機能を継承します。
例: helloWorld() メソッドを辞書に追加する
JavaScript のプロトタイプ継承により、次のことが可能になります。組み込み型にメソッドを追加しますが、Python には同様のメカニズムがありません。ただし、サブクラス化を使用すると、同様の効果を実現できます。
<code class="python">class CustomDict(dict): def helloWorld(self): print("Hello, dictionary!")</code>
このサブクラスをグローバル名前空間の組み込み辞書に置き換えることで、helloWorld() メソッドを任意の辞書オブジェクトに追加できるようになります。
<code class="python">import __builtin__ __builtin__.dict = CustomDict my_dict = {} my_dict.helloWorld() # Output: Hello, dictionary!</code>
制限
この手法には制限があります:
結論
Python の組み込みオブジェクト型にメソッドを直接追加することはできませんが、サブクラス化と置換によって同様の機能を実現する方法が提供されます。組み込みクラスを拡張することで、既存のコードとの互換性を維持しながら、これらのオブジェクトに追加の属性と動作を追加できます。
以上がPython の組み込みオブジェクト タイプにカスタム機能を追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。