difflib ialah modul Python yang memfokuskan pada membandingkan set data (terutama rentetan). Untuk mendapatkan idea konkrit tentang beberapa perkara yang boleh anda lakukan dengan modul ini, mari kita periksa beberapa fungsi yang paling biasa.
SequenceMatcher ialah fungsi yang membandingkan dua rentetan dan mengembalikan data berdasarkan persamaannya. Dengan menggunakan nisbah() kita akan dapat mengukur persamaan ini dari segi nisbah/peratusan.
Sintaks:
SequenceMatcher(None, string1, string2)
Contoh mudah berikut menunjukkan fungsi ini:
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
Seterusnya ialah get_close_matches, yang mengembalikan padanan terdekat yang sama kepada rentetan yang diluluskan sebagai hujah.
Sintaks:
get_close_matches(word, possibilities, result_limit, min_similarity)
Berikut ialah penjelasan tentang parameter yang mungkin mengelirukan ini:
perkataan ialah perkataan sasaran yang akan dilihat oleh fungsi.
kemungkinan ialah tatasusunan yang mengandungi padanan yang fungsi akan cari dan cari padanan terdekat.
result_limit ialah had pada bilangan hasil yang dikembalikan (pilihan).
min_similarity ialah persamaan minimum yang perlu ada dua perkataan untuk dianggap sebagai nilai pulangan oleh fungsi (pilihan).
Berikut ialah contoh penggunaannya:
from difflib import get_close_matches word = 'Tandrew' possibilities = ['Andrew', 'Teresa', 'Kairu', 'Janderson', 'Drew'] print(get_close_matches(word, possibilities)) # Output: ['Andrew']
Selain itu terdapat beberapa kaedah dan kelas lain milik Difflib yang boleh anda semak: unified_diff, Differ dan diff_bytes
jadual ialah modul berguna yang berpusat pada penjadualan acara yang berfungsi merentas platform, berbeza dengan alatan seperti penjadual tugas pada Windows. Selalunya apabila menggunakan modul ini, anda akan menggunakan kelas berjadual.
Modul masa yang lebih biasa biasanya digunakan bersama-sama dengan jadual kerana kedua-duanya berurusan dengan konsep masa dan penjadualan.
Buat contoh berjadual:
schedular_name = sched.schedular(time.time, time.sleep)
Pelbagai kaedah boleh dipanggil daripada kejadian ini.
Apabila run() dipanggil, acara/entri dalam penjadual akan dipanggil mengikut urutan. Fungsi ini biasanya muncul pada penghujung program selepas acara telah dijadualkan. Di samping itu, cari akaun awam Linux untuk mengetahui cara membalas "buku git" di latar belakang dan dapatkan pakej hadiah kejutan.
enterabs() ialah fungsi yang pada asasnya menambah acara pada baris gilir dalaman penjadual. Ia menerima beberapa parameter dalam susunan berikut:
Berikut ialah contoh cara menggunakan kedua-dua fungsi ini bersama-sama:
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
Terdapat juga beberapa sambungan Fungsi yang digunakan oleh modul jadual: cancel(), enter(), dan empty().
binaascii ialah modul untuk menukar antara binari dan ASCII.
b2a_base64 ialah kaedah dalam modul binaascii yang menukar data base64 kepada data binari. Berikut ialah contoh pendekatan ini:
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'
Kod ini harus jelas. Ringkasnya, ia melibatkan pengekodan, menukar kepada base64, dan menukarnya kembali kepada binari menggunakan kaedah b2a_base64.
Berikut ialah beberapa fungsi lain yang dimiliki oleh modul binaascii: a2b_qp(), b2a_qp() dan a2b_uu().
tty ialah modul yang mengandungi beberapa fungsi utiliti yang boleh digunakan untuk menangani peranti tty. Berikut ialah dua fungsinya:
setraw() menukar mod deskriptor fail dalam hujahnya (fd) kepada mentah.
setcbreak() menukar mod deskriptor fail dalam hujahnya (fd) kepada cbreak.
Modul ini hanya tersedia pada Unix kerana keperluan untuk menggunakan modul termios, seperti menentukan parameter kedua (when=termios.TCSAFLUSH) dalam dua fungsi di atas.
weakref ialah modul untuk mencipta rujukan lemah kepada objek dalam Python.
Rujukan yang lemah ialah rujukan yang tidak melindungi objek tertentu daripada dikumpul oleh mekanisme kutipan sampah.
Berikut ialah dua fungsi yang berkaitan dengan modul ini:
Contoh penggunaan weakref dan fungsinya:
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': []
Output Daripada nilai pulangan fungsi output kita boleh lihat kesannya. Oleh kerana num tidak mempunyai rujukan yang lemah, tatasusunan yang dikembalikan oleh getweakrefs() adalah kosong. Sambungan: Mengambil Kerja Swasta
Berikut ialah beberapa fungsi lain yang berkaitan dengan modul weakref: ref(), proxy() dan _remove_dead_weakref().
Atas ialah kandungan terperinci Apakah perpustakaan Python biasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!