この記事では、Pythonの組み込み関数や定数に直接アクセスする方法を解説します。
組み込みに直接アクセスすることで同名の関数やクラスが定義されている場合でも組み込みオブジェクトにアクセスすることができます。
それでは、組み込みオブジェクトに直接アクセスする方法を見ていきましょう!
builtins
モジュールから直接組み込み関数にアクセスすることができます。
import builtins
def print():
# 直接組み込みのprint関数を呼び出す
builtins.print('print')
print()
実行結果
print
Linkbuiltins --- 組み込みオブジェクト — Python 3.10.4 ドキュメント
モジュールに定義されている属性__builtins__
からアクセスすることもできます。
def print():
# 直接組み込みのprint関数を呼び出す
__builtins__.print('print')
print()
実行結果
print
__builtins__
には、メインモジュールならbuiltins
モジュールそのもの、サブモジュールならbuiltins
モジュールの__dict__
属性が格納されています。
また、ほとんどのモジュールで__builtins__
属性を使うことができますが、必ず使えるというわけではないので注意してください。
Link__builtins__と__builtin__ - 愚鈍人
この記事では、組み込み関数や定数に直接アクセスする方法を解説しました。
直接アクセスすることで組み込み関数をラップすることができます。頻繁に使う機能ではありませんが、組み込みオブジェクトに直接アクセスできるということを知っておきましょう。
それでは今回の内容はここまでです。ではまたどこかで〜( ・∀・)ノ