Pythonの:と-など

簡単な例をまず

(オープンで' file.txtを'' W ' :ファイルなど)
    file.write(' テキスト'

4つのステップの実行:ファイルを開く - >閉じるファイル - >戻り値は読み取りおよび書き込み>ファイル - に割り当てられ

最初の3つのステップが対応する文に対応することができ、彼らはどこから来た第四のステップはありますか?

これは、制御フロー計算書については、このメカニズムからでなければなりません

メカニズムを説明する前に、まずファイルを読み書きするための一連の作業を見て

オープン - >書き込み - >閉じます

もちろん、ファイル操作よりも、このようなステップがあります

多くの同様の操作がPythonでそれがあります

これらの操作を簡素化するために、Pythonは非常に巧妙な方法を使用しています

この方法は、「コンテキスト管理プロトコル」、「コンテキストマングメントプロトコル」と呼ばれています

クラス__enterで定義されている2つの方法では__、_ exit__暗黙のエントリとのクリアランスを達成するために使用

try-最終的には、特定のステップの同等文としてで-行わ:

してみてください
  表現
  __enter__ ()
  with_block 
最後に:
  __exit__()

だから、前の例第四段階の方法が__exit__実際にあります

もちろん、と-として彼自身の声明スコープを持っています

クラスのみ持つ__enter __、__ exit__方法

このクラスのインスタンスは、と-などのステートメントを使用することができます

おすすめ

転載: www.cnblogs.com/jawide/p/11520642.html