Categories: Python

【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__ - 愚鈍人

まとめ

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

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

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

ゆうまる

独学でプログラミングを勉強しているおじさん。いろんな言語を勉強したが浅く広くなためあまり仕事につながらない。また忘れっぽいため自分のブログを備忘録としても使っている。産まれてこのかたずっとネコを飼ってる生粋のネコ派。最近お腹が出てきて筋トレに奮闘中!

Recent Posts

【Dart】コンストラクタのデフォルト引数について

Dartのコンストラクタのデフォルト引数…

4週間 ago

【Unity】有料アセットを無料で手に入れる方法

この記事では、Unityの有料アセットを…

5か月 ago

【Python】任意の秒数だけ処理を一時停止する方法【sleep()関数】

この記事では、Pythonで任意の秒数だ…

1年 ago

【Python】Wordの文書の新規作成と読み書き

この記事では、Pythonを使ってWor…

1年 ago

【Python】メタクラスって結局なんなの?

この記事では、Pythonのメタクラスに…

1年 ago