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

Pythonコンテキストマネージャーの種類


Pythonでは、ランタイムコンテキストはwithステートメントでサポートされています。コンテキストは、コンテキストマネージャーによって定義されます。コンテキストマネージャーを使用して、ユーザー定義クラスを作成し、ランタイムコンテキストを定義できます。ステートメント本文を実行する前にタスクに入り、ステートメント本文が完了すると終了します。

コンテキストマネージャには2つの異なる方法があります。これらのメソッドは-

です

メソッド__enter__()

__enter __()メソッドは、ランタイムコンテキストに入るのに使用されます。現在のオブジェクトまたは別の関連オブジェクトのいずれかを返します。戻り値は、withステートメントのas句の識別子にバインドされます。

メソッド__exit__(exc_type、exc_val、exc_tb)

__exit __()メソッドは、ブール型の結果を返すために使用されます。発生した例外を示します。 withに例外が1つある場合 ステートメント、それは終了ブロックに行きます。

サンプルコード

class MyFileManager:
   def __init__(self, fname):
      self.file_name = fname

   def __enter__(self):
      self.myFile = open(self.file_name, 'r')
      return self.myFile

   def __exit__(self, exc_type, exc_val, exc_tb):
      if self.myFile:
      self.myFile.close()

   with MyFileManager('sampleTextFile.txt') as myFile:
   x = myFile.read()
print(x)

出力

Test File.
We can store different contents in this file
~!@#$%^&*()_+/*-+\][{}|:;"'<.>/,'"]

  1. TkinterPythonの折りたたみ可能なペイン

    TkinterはPythonのGUI構築ライブラリです。この記事では、折りたたみ可能なペインを作成する方法を説明します。 GUIキャンバス上に大量のデータを表示する必要があるが、常に表示したくない場合に便利です。折りたたみ可能になっているため、必要に応じて表示できます。 以下のプログラムは、矢印を拡大および縮小した後の結果を表示する折りたたみ可能なペインを作成します。コードコメントは、各ステップで採用するアプローチを示しています。 例 from tkinter import * import tkinter as tk from tkinter import ttk from tkinter

  2. Pythonでの継承

    この記事では、Python3.xでの継承と拡張クラスについて学習します。またはそれ以前。 継承は実際の関係をうまく表し、再利用性を提供し、推移性をサポートします。開発時間が短縮され、メンテナンスが容易になり、拡張も容易になります。 継承は大きく5つのタイプに分類されます- シングル 複数 階層的 マルチレベル ハイブリッド 上の図に示されているように、継承とは、実際に親クラスのオブジェクトを作成せずに、他のクラスの機能にアクセスしようとするプロセスです。 ここでは、単一の階層型継承の実装について学習します。 単一継承 例 # parent class class Studen