コンテナのPython抽象基本クラス
Pythonコンテナにはいくつかの抽象基本クラスがあります。さまざまな抽象基本クラスがあります。これらのクラスは、Containers、Hashtable、Generator、Set、MutableSet、Awaitableなどのようなものです。
このモジュールを使用するには、-
を使用してインポートする必要がありますimport collections.abc
いくつかの抽象基本クラスがあり、非常に便利です。これらのクラスは、さまざまなコンテナクラスを開発するために使用されます。たとえば、フルセットの機能を持つコンテナを作成できます。これを行うには、SetAbstract基本クラスを使用できます。クラスにいくつかのメソッドを提供する必要があります。これらは、__ contains __()、__ iter __()、および__len __()
です。サンプルコード
import collections.abc
class ListSet(collections.abc.Set):
def __init__(self, iterable):
self.elements = lst = list()
for element in iterable:
if element not in lst:
lst.append(element)
def __iter__(self):
return iter(self.elements)
def __contains__(self, value):
return value in self.elements
def __len__(self):
return len(self.elements)
set1 = ListSet('ABCDEF')
set2 = ListSet('DEFGHI')
intersect = set1 & set2
intersect_iter = iter(intersect)
try:
while True:
print(next(intersect_iter))
except:
pass 出力
D E F
-
有向グラフでサイクルを検出するためのPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −有向グラフが与えられたので、グラフにサイクルが含まれているかどうかを確認する必要があります。指定されたグラフに少なくとも1つのサイクルが含まれている場合、出力はtrueである必要があり、そうでない場合はfalseです。 次に、以下の実装のソリューションを見てみましょう- 例 # collections module from collections import defaultdict # class for creation of graphs class Graph(): #
-
Pythonでの継承
この記事では、Python3.xでの継承と拡張クラスについて学習します。またはそれ以前。 継承は実際の関係をうまく表し、再利用性を提供し、推移性をサポートします。開発時間が短縮され、メンテナンスが容易になり、拡張も容易になります。 継承は大きく5つのタイプに分類されます- シングル 複数 階層的 マルチレベル ハイブリッド 上の図に示されているように、継承とは、実際に親クラスのオブジェクトを作成せずに、他のクラスの機能にアクセスしようとするプロセスです。 ここでは、単一の階層型継承の実装について学習します。 単一継承 例 # parent class class Studen