Pythonの名前空間について詳しく解説
Python は動的言語として、コードの実行時に定数、変数、関数などの名前付き環境を維持します。この環境は名前空間であり、名前空間とも呼ばれます。この記事ではPythonの名前空間について詳しく紹介します。
- ネームスペースの概要
Python のネームスペースは、名前とオブジェクトの対応関係を格納する辞書です。名前は識別子 (識別子) を指し、オブジェクトはすべてのオブジェクトを指します。 Python では、整数、浮動小数点数、文字列、関数、クラスなどを含むすべてがオブジェクトです。 - 名前空間の分類
Python の名前空間は次の 3 種類に分類できます。
(1) 組み込み名前空間 (Built-in Namespace)
組み込みの名前付けスペースは、Python インタープリターの起動時にロードされる名前空間です。組み込みの名前空間には、開発者が直接使用できる print()、type()、str() などのいくつかの関数と変数がデフォルトで含まれています。組み込みの名前空間には、builtins モジュールを通じてアクセスすることもできます。
(2) グローバル名前空間(Global Namespace)
グローバル名前空間とは、関数やクラスで定義されるのではなく、モジュールで定義される変数や関数などを指します。 1 つのモジュールで定義されたグローバル変数には、他のモジュールでもアクセスできます。モジュールにはグローバル名前空間が 1 つだけあり、モジュール内のすべての関数がこの名前空間にアクセスできます。
(3) ローカル名前空間(ローカル名前空間)
ローカル名前空間は、関数呼び出し時に作成される名前空間で、関数のローカル変数、パラメータ、一時変数などを格納するために使用されます。関数の呼び出しが終了すると、ローカルの名前空間も破棄されます。
- 名前空間検索ルール
変数を使用する場合、Python はまずローカル名前空間で対応する変数を検索します。見つからない場合は、グローバル名前空間で検索し、最後に変数を検索します。組み込みの名前空間。つまり、Python はローカル、グローバル、組み込みの順に変数を検索しますが、この変数の検索順序を LEGB ルールと呼びます。 - 名前空間のスコープ
Python では、各関数、モジュール、クラスには独自の名前空間があります。名前がオブジェクトにバインドされている場合、その名前はその名前空間内でのみ意味を持ちます。名前がローカル名前空間にバインドされている場合、その名前は関数内でのみ意味を持ちます。名前がグローバル名前空間にバインドされている場合、名前はモジュール内で意味を持ちます。名前が組み込み名前空間スペースにバインドされている場合は、モジュール内で意味を持ちます。 Python インタープリター全体で認識されます。 - globals() 関数と locals() 関数を使用して名前空間を取得する
Python で globals() 関数と locals() 関数を使用して、対応するグローバル名前空間とローカル名前空間を取得できます。 globals() 関数はグローバル名前空間の辞書を返し、locals() 関数はローカル名前空間の辞書を返します。 - 名前空間に関する注意
(1) 名前空間内の名前は、正当な識別子である必要があります。
(2) 関数とクラスは新しい名前空間を作成します。
(3) 変数名は、名前空間内の他のオブジェクトに再バインドできます。
(4) global ステートメントを使用して、関数内の変数がグローバル変数を参照できるようにします。
(5) 関数内の変数が外部関数のローカル変数を参照できるようにするには、非ローカル ステートメントを使用します。
(6) Python の名前空間検索は LEGB ルールに基づいています。 - 結論
この記事では、名前空間の概要、名前空間の分類、名前空間の検索ルール、名前空間のスコープ、globals() 関数と locals() 関数による名前空間の取得など、Python の名前空間について詳しく紹介します。 Python 初心者にとって、名前空間を理解することは、Python 言語を学習する上で重要なステップです。
以上がPythonの名前空間について詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









LinuxターミナルでPythonバージョンを表示する際の許可の問題の解決策PythonターミナルでPythonバージョンを表示しようとするとき、Pythonを入力してください...

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

PythonのPandasライブラリを使用する場合、異なる構造を持つ2つのデータフレーム間で列全体をコピーする方法は一般的な問題です。 2つのデータがあるとします...

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法

正規表現は、プログラミングにおけるパターンマッチングとテキスト操作のための強力なツールであり、さまざまなアプリケーションにわたるテキスト処理の効率を高めます。

UvicornはどのようにしてHTTPリクエストを継続的に聞きますか? Uvicornは、ASGIに基づく軽量のWebサーバーです。そのコア機能の1つは、HTTPリクエストを聞いて続行することです...

Pythonでは、文字列を介してオブジェクトを動的に作成し、そのメソッドを呼び出す方法は?これは一般的なプログラミング要件です。特に構成または実行する必要がある場合は...

この記事では、numpy、pandas、matplotlib、scikit-learn、tensorflow、django、flask、and requestsなどの人気のあるPythonライブラリについて説明し、科学的コンピューティング、データ分析、視覚化、機械学習、Web開発、Hの使用について説明します。
