Python PR

【Python】組み込みオブジェクトに直接アクセスする

記事内に商品プロモーションを含む場合があります

この記事では、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__ - 愚鈍人

まとめ

この記事では、組み込み関数や定数に直接アクセスする方法を解説しました。

直接アクセスすることで組み込み関数をラップすることができます。頻繁に使う機能ではありませんが、組み込みオブジェクトに直接アクセスできるということを知っておきましょう。

それでは今回の内容はここまでです。ではまたどこかで〜( ・∀・)ノ