Python では、globals() 関数は、現在のグローバル スコープで定義されているすべての変数と関数の辞書を返します。

WBOY
リリース: 2023-08-27 21:25:06
転載
939 人が閲覧しました

Python では、globals() 関数は、現在のグローバル スコープで定義されているすべての変数と関数の辞書を返します。

Python では、すべてのプログラムに、プログラム内で定義されている名前 (変数、関数、クラス) に関する情報を含むシンボル テーブルがあります。 global() 関数を使用すると、グローバル シンボル テーブルにアクセスして操作し、プログラム内の現在のグローバル変数に関する貴重な情報を提供できます。この記事では、これらの globals() 関数がどのように機能するのか、そして Python でこの関数を使用して何ができるのかを学びます。

globals() 関数の概要

Python では、各プログラムにシンボル テーブルがあり、プログラム内で定義されている名前 (変数、関数、クラスなど) に関する情報が含まれています。シンボル テーブルは辞書によって表され、名前はキーであり、関連付けられた値は現在の値または参照を表します。

globals() 関数は、現在のグローバル シンボル テーブルを表す辞書を返します。現在のスコープ内のすべてのグローバル変数とそれらに対応する値へのアクセスを提供します。このディクショナリを検査することで、プログラムによってグローバル変数を取得、変更、または削除できます。

###文法### リーリー

ここで、globals() 関数はパラメータを受け入れず、グローバル シンボル テーブルを表す辞書を返すだけです。

グローバル変数の取得

Python でグローバル変数を取得するには、globals() 関数を使用します。この関数は、現在のグローバル シンボル テーブルを表す辞書を返します。このディクショナリにアクセスしてその項目を反復処理することにより、現在のスコープ内のすべてのグローバル変数の名前と値を取得できます。

###例###

次の例では、3 つのグローバル変数 x、y、z を定義します。また、globals() 関数を呼び出してグローバル シンボル テーブルを取得する関数 print_globals() も定義します。結果として得られる辞書の項目を反復処理することで、すべてのグローバル変数の名前と値を出力します。さらに、関数 print_globals() 自体もグローバル シンボル テーブルに存在することがわかります。

リーリー ###出力### リーリー

グローバル変数を変更する

globals() 関数を使用すると、グローバル変数を取得できるだけでなく、その値を変更することもできます。

###例###

次の例では、初期値 10 でグローバル変数 x を定義します。 modify_global() 関数は、globals() を使用してグローバル シンボル テーブルを取得し、ディクショナリ エントリを直接更新することで x の値を 20 に変更します。 modify_global() 関数を呼び出す前後に x の値を出力すると、変更が有効になっていることがわかります。

リーリー ###出力### リーリー

新しいグローバル変数を追加

globals() 関数を使用して、新しいグローバル変数を動的に追加することもできます。同じことを示す例を見てみましょう。

###例###

次の例では、globals() を使用して new_var という名前の新しいグローバル変数をグローバル シンボル テーブルに追加する関数 add_global() を定義します。関数を呼び出した後、new_var の値を出力します。これにより、変数が正常に追加され、グローバルにアクセス可能であることが確認されます。

リーリー ###出力### リーリー ###結論は###

この記事では、globals() 関数とは何か、またその用途について説明しました。 globals() 関数は、プログラム内のグローバル変数にアクセスして操作するために使用されます。この関数を使用すると、グローバル変数を動的に取得、変更、または追加できます。 globals() 関数の機能を使用すると、プログラムのグローバル変数をより詳細に制御できるようになり、Python プログラミング スキルを向上させることができます。

以上がPython では、globals() 関数は、現在のグローバル スコープで定義されているすべての変数と関数の辞書を返します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート