Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python変数の基本的なスコープルールは何ですか?


MarkLutz著のLearningPythonで、彼はPythonスコープがどのように機能するかを覚えておくために次のニーモニックを提案しています。LEGB

最も狭い範囲から最も広い範囲への移行:

Lは「ローカル」の略です。これは、関数のローカルスコープで定義されている変数を指します。

Eは「囲み」の略です。これは、他の関数をラップする関数のローカルスコープで定義された変数を指します。 Gは「グローバル」の略です。これらは、ファイルとモジュールのトップレベルで定義されている変数です。

Bは「ビルトイン」の略です。これらは、インタプリタの起動時にスコープにロードされる名前です。


  1. Pythonのパッケージは何ですか?

    パッケージを理解するには、モジュールについても知っておく必要があります。すべてのPythonファイルはモジュールであり、その名前はファイルのベース名/モジュールの__name__プロパティであり、拡張子は.pyではありません。パッケージはPythonモジュールのコレクションです。つまり、パッケージは追加の__init__。pyファイルを含むPythonモジュールのディレクトリです。 __init __。pyは、パッケージを、たまたまPythonスクリプトの束を含むディレクトリと区別します。対応するディレクトリに独自の__init__。pyファイルが含まれている場合、パッケージは任意の深さにネス

  2. Pythonでの例外処理のベストプラクティスは何ですか?

    Pythonでの例外処理のベストプラクティスのいくつかを以下に示します。 例外は、エラーステータスコードを返すよりも優れています。言語コア全体と標準ライブラリが例外をスローするため、Pythonで例外を処理する必要があります。エレガントに処理された例外は、エラーコードやトレースバックよりもいつでも望ましいです。 フロー制御に例外を使用しないのが賢明です。 例外は、通常の実行の一部ではない例外的な状況で発生します。 パターンが見つからない場合は-1を返す文字列の「find」を検討してください。ただし、文字列の終わりを超えてインデックスを作成すると、例外が発生します。文字列が見つからないの