Pustaka standard Python mempunyai lebih 200 modul yang boleh diimport dan digunakan oleh pengaturcara dalam program mereka. Walaupun rata-rata pengaturcara akan mempunyai sedikit pengalaman dengan kebanyakan modul ini, kemungkinan besar terdapat beberapa modul berguna yang mereka masih tidak sedar.
Saya dapati banyak modul ini mengandungi fungsi yang sangat berguna dalam pelbagai bidang. Membandingkan set data, bekerjasama dengan fungsi lain dan pemprosesan audio semuanya boleh diautomasikan hanya menggunakan Python.
Jadi, saya telah menyusun senarai pendek modul Python yang mungkin anda tidak tahu dan telah memberikan penjelasan yang sewajarnya kepada beberapa modul ini supaya anda boleh memahami dan menggunakannya pada masa hadapan.
Semua modul ini mempunyai fungsi dan kelas yang berbeza. Artikel ini mengandungi beberapa fungsi dan kelas yang kurang dikenali, jadi walaupun anda pernah mendengar tentang modul ini, anda mungkin tidak mengetahui beberapa aspek dan kegunaannya.
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 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, fungsi ini mengembalikan padanan terdekat kepada rentetan yang dihantar sebagai hujah.
Sintaks:
get_close_matches(word, possibilities, result_limit, min_similarity)
Berikut ialah penjelasan tentang parameter yang mungkin mengelirukan ini:
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 lagi yang boleh anda semak yang merupakan sebahagian daripada Kaedah Difflib dan kelas: unified_diff, Differ dan diff_bytes
jadual ialah modul berguna yang berpusat pada penjadualan acara yang berfungsi merentas platform, dengan penjadual tugas pada Windows, dsb. berbeza sekali. 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.
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 fungsi yang memanjangkan penggunaan 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:
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:
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 函数和模块非常重要,以便保持稳定的工具库,您可以在编写代码时快速使用。
无论您的编程专业知识水平如何,您都应该不断学习。多投入一点时间可以为您带来更多价值,并为您节省更多未来时间。
Atas ialah kandungan terperinci Adakah anda tahu lima modul Python yang berguna tetapi kurang dikenali ini?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!