ホームページ >バックエンド開発 >Python チュートリアル >これら 5 つの便利だがあまり知られていない Python モジュールをご存知ですか?
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.8163265306122449get_close_matches次は get_close_matches です。この関数は、引数として渡された文字列に最も近い一致を返します。 構文:
get_close_matches(word, possibilities, result_limit, min_similarity)混乱を招く可能性があるパラメータについて説明します:
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_bytes2. schedsched は、Windows のタスク スケジューラなどのツールと連携して、クロスプラットフォームで動作するイベント スケジューリングを中心とした便利なモジュールです。このモジュールを使用する場合、ほとんどの場合、スケジュール クラスを使用します。 より一般的な time モジュールは、どちらも時間とスケジュールの概念を扱うため、通常は sched と一緒に使用されます。 スケジュール インスタンスの作成:
schedular_name = sched.schedular(time.time, time.sleep)このインスタンスからさまざまなメソッドを呼び出すことができます。
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()。
3. binaascii
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() があります。
4. tty
5.weakref
弱い参照とは、ガベージ コレクション メカニズムによる収集から特定のオブジェクトを保護しない参照です。
このモジュールに関連する 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': [<weakref at 0x10b978a90; to 'type' at #0x7fb7755069f0 (Book)>] # Weakrefs of 'num': []
输出从输出的函数返回值我们可以看到它的作用。由于 num 没有弱引用,因此 getweakrefs() 返回的数组为空。扩展:接私活儿
以下是与 weakref 模块相关的一些其他函数:ref()、proxy() 和 _remove_dead_weakref()。
binaascii 可在二进制和 ASCII 之间转换以编码和解码数据。b2a_base64 是 binaascii 模块中的一种方法,它将 base64 数据转换为二进制数据。
tty 模块需要配合使用 termios 模块,并处理 tty 设备。它仅适用于 Unix。
weakref 用于弱引用。它的函数可以返回对象的弱引用,查找对象的弱引用数量等。其中非常使用的函数之一是 getweakrefs(),它接受一个对象并返回一个该对象包含的所有弱引用的数组。
这些函数中的每一个都有其各自的用途,每一个都有不同程度的有用性。了解尽可能多的 Python 函数和模块非常重要,以便保持稳定的工具库,您可以在编写代码时快速使用。
无论您的编程专业知识水平如何,您都应该不断学习。多投入一点时间可以为您带来更多价值,并为您节省更多未来时间。
以上がこれら 5 つの便利だがあまり知られていない Python モジュールをご存知ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。