Python変数の基本的なスコープルールは何ですか?
MarkLutz著のLearningPythonで、彼はPythonスコープがどのように機能するかを覚えておくために次のニーモニックを提案しています。LEGB
最も狭い範囲から最も広い範囲への移行:
Lは「ローカル」の略です。これは、関数のローカルスコープで定義されている変数を指します。
Eは「囲み」の略です。これは、他の関数をラップする関数のローカルスコープで定義された変数を指します。 Gは「グローバル」の略です。これらは、ファイルとモジュールのトップレベルで定義されている変数です。
Bは「ビルトイン」の略です。これらは、インタプリタの起動時にスコープにロードされる名前です。
-
Pythonのパッケージは何ですか?
パッケージを理解するには、モジュールについても知っておく必要があります。すべてのPythonファイルはモジュールであり、その名前はファイルのベース名/モジュールの__name__プロパティであり、拡張子は.pyではありません。パッケージはPythonモジュールのコレクションです。つまり、パッケージは追加の__init__。pyファイルを含むPythonモジュールのディレクトリです。 __init __。pyは、パッケージを、たまたまPythonスクリプトの束を含むディレクトリと区別します。対応するディレクトリに独自の__init__。pyファイルが含まれている場合、パッケージは任意の深さにネス
-
Pythonでの例外処理のベストプラクティスは何ですか?
Pythonでの例外処理のベストプラクティスのいくつかを以下に示します。 例外は、エラーステータスコードを返すよりも優れています。言語コア全体と標準ライブラリが例外をスローするため、Pythonで例外を処理する必要があります。エレガントに処理された例外は、エラーコードやトレースバックよりもいつでも望ましいです。 フロー制御に例外を使用しないのが賢明です。 例外は、通常の実行の一部ではない例外的な状況で発生します。 パターンが見つからない場合は-1を返す文字列の「find」を検討してください。ただし、文字列の終わりを超えてインデックスを作成すると、例外が発生します。文字列が見つからないの