Python 표준 라이브러리에는 프로그래머가 프로그램에서 가져와 사용할 수 있는 200개 이상의 모듈이 있습니다. 일반 프로그래머는 이러한 모듈 중 다수에 대해 어느 정도 경험을 갖고 있지만 아직 인식하지 못하는 몇 가지 유용한 모듈이 있을 가능성이 높습니다.
이러한 모듈 중 상당수가 다양한 분야에서 매우 유용한 기능을 포함하고 있다는 것을 알았습니다. 데이터 세트 비교, 다른 기능과의 협업 및 오디오 처리는 모두 Python을 사용하여 자동화할 수 있습니다.
그래서 여러분이 모르실 수도 있는 Python 모듈의 후보 목록을 정리하고, 나중에 여러분이 이해하고 사용할 수 있도록 몇 가지 모듈에 대한 적절한 설명을 제공했습니다.
이 모든 모듈에는 서로 다른 기능과 클래스가 있습니다. 이 문서에는 잘 알려지지 않은 여러 함수와 클래스가 포함되어 있으므로 이러한 모듈에 대해 들어본 적이 있더라도 해당 모듈의 일부 측면과 용도를 알지 못할 수도 있습니다.
difflib는 데이터 세트(특히 문자열) 비교에 초점을 맞춘 Python 모듈입니다. 이 모듈로 수행할 수 있는 몇 가지 작업에 대한 구체적인 아이디어를 얻기 위해 가장 일반적인 기능 중 일부를 살펴보겠습니다.
SequenceMatcher는 두 문자열을 비교하고 유사성에 따라 데이터를 반환하는 함수입니다. ratio()를 사용하면 이 유사성을 비율/백분율로 수량화할 수 있습니다.
구문:
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)
다음은 혼동될 수 있는 매개변수에 대한 설명입니다.
사용 예는 다음과 같습니다.
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의 작업 스케줄러와 같은 도구와 달리 크로스 플랫폼 작업을 위한 이벤트 예약을 중심으로 하는 유용한 모듈입니다. 이 모듈을 사용할 때 대부분의 경우 스케줄러 클래스를 사용하게 됩니다.
보다 일반적인 시간 모듈은 일반적으로 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()도 있습니다.
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 장치를 처리하는 데 사용할 수 있는 여러 유틸리티 기능이 포함된 모듈입니다. 다음은 두 가지 기능입니다.
위 두 함수에서 두 번째 매개변수(when=termios.TCSAFLUSH)를 지정하는 등 termios 모듈을 사용해야 하기 때문에 이 모듈은 Unix에서만 사용할 수 있습니다.
weakref는 Python에서 객체에 대한 약한 참조를 생성하는 모듈입니다.
약한 참조는 가비지 수집 메커니즘에 의해 수집되는 객체를 보호하지 않는 참조입니다.
다음은 이 모듈과 관련된 두 가지 기능입니다.
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 函数和模块非常重要,以便保持稳定的工具库,您可以在编写代码时快速使用。
无论您的编程专业知识水平如何,您都应该不断学习。多投入一点时间可以为您带来更多价值,并为您节省更多未来时间。
위 내용은 유용하지만 잘 알려지지 않은 다섯 가지 Python 모듈을 알고 계십니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!