difflib は、データセット (特に文字列) の比較に焦点を当てた Python モジュールです。このモジュールでできることの具体的なアイデアを得るために、最も一般的な関数のいくつかを調べてみましょう。
SequenceMatcher は、2 つの文字列を比較し、その類似性に基づいてデータを返す関数です。 rate() を使用すると、この類似性を比率/パーセンテージの観点から定量化できます。
構文:
SequenceMatcher(None, string1, string2)
次の簡単な例は、この関数の機能を示しています:
from difflib import SequenceMatcher phrase1 = "Tandrew loves Trees." phrase2 = "Tandrew loves to mount Trees." similarity = SequenceMatcher(None, phrase1, phrase2) print(similarity.ratio()) # Output: 0.8163265306122449
次は get_close_matches で、同じものを返します。引数として渡された文字列と一致します。
構文:
get_close_matches(word, possibilities, result_limit, min_similarity)
これらの混乱を招く可能性のあるパラメータについて説明します:
word は、関数が調べる対象の単語です。
possibilities は、関数が検索して最も近い一致を見つける一致を含む配列です。
result_limit は、返される結果の数の制限です (オプション)。
min_similarity は、2 つの単語が関数によって戻り値とみなされるために必要な最小の類似性です (オプション)。
これはその使用例です:
from difflib import get_close_matches word = 'Tandrew' possibilities = ['Andrew', 'Teresa', 'Kairu', 'Janderson', 'Drew'] print(get_close_matches(word, possibilities)) # Output: ['Andrew']
さらに、Difflib に属する他のいくつかのメソッドとクラスもチェックアウトできます:unified_diff、Differ、diff_bytes
sched は、Windows のタスク スケジューラのようなツールとは対照的に、プラットフォーム間で機能するイベント スケジューリングを中心とした便利なモジュールです。このモジュールを使用する場合、ほとんどの場合、スケジュール クラスを使用します。
より一般的な time モジュールは、どちらも時間とスケジュールの概念を扱うため、通常は sched と一緒に使用されます。
スケジュール インスタンスを作成します:
schedular_name = sched.schedular(time.time, time.sleep)
このインスタンスからさまざまなメソッドを呼び出すことができます。
run() が呼び出されると、スケジューラ内のイベント/エントリが順番に呼び出されます。この機能は通常、イベントがスケジュールされた後、プログラムの最後に表示されます。さらに、パブリック アカウント Linux を検索して、バックグラウンドで「git Books」と返信する方法を学び、サプライズ ギフト パッケージを入手してください。
enterabs() は基本的に、スケジューラの内部キューにイベントを追加する関数です。いくつかのパラメータを次の順序で受け取ります:
これら 2 つの関数を一緒に使用する方法の例を次に示します:
import sched import time def event_notification(event_name): print(event_name + " has started") my_schedular = sched.scheduler(time.time, time.sleep) closing_ceremony = my_schedular.enterabs(time.time(), 1, event_notification, ("The Closing Ceremony", )) my_schedular.run() # Output: The Closing Ceremony has started
sched モジュールで使用されるいくつかの拡張関数: cancel()、enter()、および empty() も含まれます。
binaascii は、バイナリと ASCII の間で変換するためのモジュールです。
b2a_base64 は、base64 データをバイナリ データに変換する binaascii モジュールのメソッドです。このアプローチの例を次に示します。
import base64 import binascii msg = "Tandrew" encoded = msg.encode('ascii') base64_msg = base64.b64encode(encoded) decode = binascii.a2b_base64(base64_msg) print(decode) # Output: b'Tandrew'
このコードは一目瞭然です。簡単に言えば、エンコード、base64 への変換、および b2a_base64 メソッドを使用したバイナリへの変換が含まれます。
binaascii モジュールに属する他の関数として、a2b_qp()、b2a_qp()、および a2b_uu() があります。
tty は、tty デバイスの処理に使用できるいくつかのユーティリティ関数を含むモジュールです。以下にその 2 つの関数を示します。
setraw() は、引数 (fd) 内のファイル記述子のモードを raw に変更します。
setcbreak() は、引数 (fd) 内のファイル記述子のモードを cbreak に変更します。
このモジュールは、上記の 2 つの関数で 2 番目のパラメーター (when=termios.TCSAFLUSH) を指定するなど、termios モジュールを使用する必要があるため、Unix でのみ使用できます。
weakref は、Python でオブジェクトへの弱参照を作成するためのモジュールです。
弱い参照とは、ガベージ コレクション メカニズムによる収集から特定のオブジェクトを保護しない参照です。
次は、このモジュールに関連する 2 つの関数です。
weakref とその関数の使用例:
import weakref class Book: def print_type(self): print("Book") lotr = Book num = 1 rcount_lotr = str(weakref.getweakrefcount(lotr)) rcount_num = str(weakref.getweakrefcount(num)) rlist_lotr = str(weakref.getweakrefs(lotr)) rlist_num = str(weakref.getweakrefs(num)) print("number of weakrefs of 'lotr': " + rcount_lotr) print("number of weakrefs of 'num': " + rcount_num) print("Weakrefs of 'lotr': " + rlist_lotr) print("Weakrefs of 'num': " + rlist_num) # Output: # number of weakrefs of 'lotr': 1 # number of weakrefs of 'num': 0 # Weakrefs of 'lotr': [] # Weakrefs of 'num': []
出力 出力関数の戻り値からその効果がわかります。 num には弱参照がないため、getweakrefs() によって返される配列は空です。拡張機能: プライベート作業の引き継ぎ
weakref モジュールに関連するその他の関数: ref()、proxy()、および _remove_dead_weakref() を示します。
以上が一般的な Python ライブラリは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。