組み込みのオーバーライド: 失われた機能の復元
Python では、組み込み関数やキーワードをオーバーライドできるカスタム名を柔軟に定義できます。ただし、誤って上書きすると、元の機能にアクセスする際に問題が発生する可能性があります。この記事では、セッションを再起動する必要を回避して、元の組み込みを復元する方法を検討します。
組み込みを上書きする場合、組み込みに割り当てられた値が想定されます。たとえば、「set」という名前の変数を任意の値に割り当てると、元の「set」関数がマスクされます。アクセスを復元するには、マスキング名を削除する必要があります。
これを行うには、次の例に示すように、「del」ステートメントの後に割り当てられた名前を実行します。
>>> set = 'oops' >>> set 'oops' >>> del set >>> set <type 'set'>
Thisアクションは現在のスコープから 'set' を削除し、元の 'set' 関数を明らかにします。あるいは、「builtins」モジュール (Python 2 では「__builtin__」) を介して元の組み込みにアクセスすることもでき、元の実装へのアクセスを保持したままオーバーライドできます。
>>> import builtins >>> builtins.set <type 'set'>
マスキング名に注意してください。現在の名前空間とその上のスコープを含む、異なる名前空間で定義できます。見つけるのが難しい場合は、「スコープ ルールの簡単な説明?」を参照してください。適用可能な範囲についての洞察のためのリソース。
以上がPython でオーバーライドされた組み込み関数を復元するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。