목차
Text
1. difflib
SequenceMatcher
get_close_matches
sched
3. binaascii
4.tty
5.weakref
回顾
要点
백엔드 개발 파이썬 튜토리얼 유용하지만 잘 알려지지 않은 다섯 가지 Python 모듈을 알고 계십니까?

유용하지만 잘 알려지지 않은 다섯 가지 Python 모듈을 알고 계십니까?

Apr 13, 2023 am 10:01 AM
python 기준 치수

유용하지만 잘 알려지지 않은 다섯 가지 Python 모듈을 알고 계십니까?

Text

Python 표준 라이브러리에는 프로그래머가 프로그램에서 가져와 사용할 수 있는 200개 이상의 모듈이 있습니다. 일반 프로그래머는 이러한 모듈 중 다수에 대해 어느 정도 경험을 갖고 있지만 아직 인식하지 못하는 몇 가지 유용한 모듈이 있을 가능성이 높습니다.

이러한 모듈 중 상당수가 다양한 분야에서 매우 유용한 기능을 포함하고 있다는 것을 알았습니다. 데이터 세트 비교, 다른 기능과의 협업 및 오디오 처리는 모두 Python을 사용하여 자동화할 수 있습니다.

그래서 여러분이 모르실 수도 있는 Python 모듈의 후보 목록을 정리하고, 나중에 여러분이 이해하고 사용할 수 있도록 몇 가지 모듈에 대한 적절한 설명을 제공했습니다.

이 모든 모듈에는 서로 다른 기능과 클래스가 있습니다. 이 문서에는 잘 알려지지 않은 여러 함수와 클래스가 포함되어 있으므로 이러한 모듈에 대해 들어본 적이 있더라도 해당 모듈의 일부 측면과 용도를 알지 못할 수도 있습니다.

1. difflib

difflib는 데이터 세트(특히 문자열) 비교에 초점을 맞춘 Python 모듈입니다. 이 모듈로 수행할 수 있는 몇 가지 작업에 대한 구체적인 아이디어를 얻기 위해 가장 일반적인 기능 중 일부를 살펴보겠습니다.

SequenceMatcher

SequenceMatcher는 두 문자열을 비교하고 유사성에 따라 데이터를 반환하는 함수입니다. ratio()를 사용하면 이 유사성을 비율/백분율로 수량화할 수 있습니다.

구문: ​​

1

SequenceMatcher(None, string1, string2)

로그인 후 복사

다음의 간단한 예는 이 함수의 기능을 보여줍니다.

1

2

3

4

5

6

7

8

9

10

11

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입니다.

구문: ​​

1

get_close_matches(word, possibilities, result_limit, min_similarity)

로그인 후 복사

다음은 혼동될 수 있는 매개변수에 대한 설명입니다.

  • word는 함수가 살펴볼 대상 단어입니다.
  • 가능성은 함수가 찾아 가장 가까운 일치 항목을 찾는 일치 항목이 포함된 배열입니다.
  • result_limit는 반환되는 결과 수에 대한 제한입니다(선택 사항).
  • min_similarity는 함수에 의해 반환 값으로 간주되기 위해 두 단어가 가져야 하는 최소 유사성입니다(선택 사항).

사용 예는 다음과 같습니다.

1

2

3

4

5

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

sched. Windows의 작업 스케줄러와 같은 도구와 달리 크로스 플랫폼 작업을 위한 이벤트 예약을 중심으로 하는 유용한 모듈입니다. 이 모듈을 사용할 때 대부분의 경우 스케줄러 클래스를 사용하게 됩니다.

보다 일반적인 시간 모듈은 일반적으로 sched와 함께 사용됩니다. 둘 다 시간과 일정의 개념을 다루기 때문입니다.

예약 인스턴스 만들기:

1

schedular_name = sched.schedular(time.time, time.sleep)

로그인 후 복사

이 인스턴스에서 다양한 메서드를 호출할 수 있습니다.

  • run()이 호출되면 스케줄러의 이벤트/항목이 순서대로 호출됩니다. 이 기능은 일반적으로 이벤트 일정이 잡힌 후 프로그램이 끝날 때 나타납니다. 또한, 공개 계정인 리눅스를 검색하고 백그라운드에서 "git books"라고 답하면 깜짝 선물 패키지를 얻을 수 있다.
  • enterabs()는 기본적으로 스케줄러의 내부 대기열에 이벤트를 추가하는 함수입니다. 다음 순서로 여러 매개변수를 받습니다.
  • 이벤트 실행 시간
  • 활동 우선순위
  • 이벤트 자체(함수)
  • 이벤트 함수의 매개변수
  • 이벤트의 키워드 매개변수 사전

다음은 하나입니다. 이 두 함수를 함께 사용하는 방법의 예:

1

2

3

4

5

6

7

8

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

binaascii는 바이너리와 ASCII 간 변환을 위한 모듈입니다.

b2a_base64는 base64 데이터를 바이너리 데이터로 변환하는 binaascii 모듈의 메서드입니다. 다음은 이 접근 방식의 예입니다.

1

2

3

4

5

6

7

8

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

tty는 tty 장치를 처리하는 데 사용할 수 있는 여러 유틸리티 기능이 포함된 모듈입니다. 다음은 두 가지 기능입니다.

  • setraw()는 인수(fd)의 파일 설명자 모드를 raw로 변경합니다.
  • setcbreak()는 인수(fd)의 파일 설명자 모드를 cbreak로 변경합니다.

위 두 함수에서 두 번째 매개변수(when=termios.TCSAFLUSH)를 지정하는 등 termios 모듈을 사용해야 하기 때문에 이 모듈은 Unix에서만 사용할 수 있습니다.

5.weakref

weakref는 Python에서 객체에 대한 약한 참조를 생성하는 모듈입니다.

약한 참조는 가비지 수집 메커니즘에 의해 수집되는 객체를 보호하지 않는 참조입니다.

다음은 이 모듈과 관련된 두 가지 기능입니다.

  • getweakrefcount() 接受一个对象作为参数,并返回引用该对象的弱引用的数量。
  • getweakrefs() 接受一个对象并返回一个数组,其中包含引用该对象的所有弱引用。

weakref 及其函数的使用示例:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

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()。

回顾

  • Difflib 是一个用于比较数据集,尤其是字符串的模块。例如,SequenceMatcher 可以比较两个字符串并根据它们的相似性返回数据。
  • sched 是与 time 模块一起使用的有用工具,用于使用 schedular 实例安排事件(以函数的形式)。例如,enterabs() 将一个事件添加到调度程序的内部队列中,该队列将在调用 run() 函数时运行。

binaascii 可在二进制和 ASCII 之间转换以编码和解码数据。b2a_base64 是 binaascii 模块中的一种方法,它将 base64 数据转换为二进制数据。

tty 模块需要配合使用 termios 模块,并处理 tty 设备。它仅适用于 Unix。

weakref 用于弱引用。它的函数可以返回对象的弱引用,查找对象的弱引用数量等。其中非常使用的函数之一是 getweakrefs(),它接受一个对象并返回一个该对象包含的所有弱引用的数组。

要点

这些函数中的每一个都有其各自的用途,每一个都有不同程度的有用性。了解尽可能多的 Python 函数和模块非常重要,以便保持稳定的工具库,您可以在编写代码时快速使用。

无论您的编程专业知识水平如何,您都应该不断学习。多投入一点时间可以为您带来更多价值,并为您节省更多未来时间。

위 내용은 유용하지만 잘 알려지지 않은 다섯 가지 Python 모듈을 알고 계십니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

XML 형식을 여는 방법 XML 형식을 여는 방법 Apr 02, 2025 pm 09:00 PM

대부분의 텍스트 편집기를 사용하여 XML 파일을여십시오. 보다 직관적 인 트리 디스플레이가 필요한 경우 Oxygen XML 편집기 또는 XMLSPy와 같은 XML 편집기를 사용할 수 있습니다. 프로그램에서 XML 데이터를 처리하는 경우 프로그래밍 언어 (예 : Python) 및 XML 라이브러 (예 : XML.etree.elementtree)를 사용하여 구문 분석해야합니다.

XML을 PDF로 변환 할 수있는 모바일 앱이 있습니까? XML을 PDF로 변환 할 수있는 모바일 앱이 있습니까? Apr 02, 2025 pm 08:54 PM

XML을 PDF로 직접 변환하는 응용 프로그램은 근본적으로 다른 두 형식이므로 찾을 수 없습니다. XML은 데이터를 저장하는 데 사용되는 반면 PDF는 문서를 표시하는 데 사용됩니다. 변환을 완료하려면 Python 및 ReportLab과 같은 프로그래밍 언어 및 라이브러리를 사용하여 XML 데이터를 구문 분석하고 PDF 문서를 생성 할 수 있습니다.

휴대폰에서 XML을 PDF로 변환 할 때 변환 속도가 빠르나요? 휴대폰에서 XML을 PDF로 변환 할 때 변환 속도가 빠르나요? Apr 02, 2025 pm 10:09 PM

모바일 XML에서 PDF의 속도는 다음 요인에 따라 다릅니다. XML 구조의 복잡성. 모바일 하드웨어 구성 변환 방법 (라이브러리, 알고리즘) 코드 품질 최적화 방법 (효율적인 라이브러리 선택, 알고리즘 최적화, 캐시 데이터 및 다중 스레딩 사용). 전반적으로 절대적인 답변은 없으며 특정 상황에 따라 최적화해야합니다.

XML에서 댓글 내용을 수정하는 방법 XML에서 댓글 내용을 수정하는 방법 Apr 02, 2025 pm 06:15 PM

작은 XML 파일의 경우 주석 내용을 텍스트 편집기로 직접 교체 할 수 있습니다. 큰 파일의 경우 XML 파서를 사용하여 효율성과 정확성을 보장하기 위해 수정하는 것이 좋습니다. XML 주석을 삭제할 때주의를 기울이면 주석을 유지하면 일반적으로 코드 이해 및 유지 관리에 도움이됩니다. 고급 팁은 XML 파서를 사용하여 댓글을 수정하기위한 파이썬 샘플 코드를 제공하지만 사용 된 XML 라이브러리에 따라 특정 구현을 조정해야합니다. XML 파일을 수정할 때 인코딩 문제에주의하십시오. UTF-8 인코딩을 사용하고 인코딩 형식을 지정하는 것이 좋습니다.

권장 XML 서식 도구 권장 XML 서식 도구 Apr 02, 2025 pm 09:03 PM

XML 서식 도구는 규칙에 따라 코드를 입력하여 가독성과 이해를 향상시킬 수 있습니다. 도구를 선택할 때는 사용자 정의 기능, 특수 상황 처리, 성능 및 사용 편의성에주의하십시오. 일반적으로 사용되는 도구 유형에는 온라인 도구, IDE 플러그인 및 명령 줄 도구가 포함됩니다.

휴대 전화 용 무료 XML에서 PDF 도구가 있습니까? 휴대 전화 용 무료 XML에서 PDF 도구가 있습니까? Apr 02, 2025 pm 09:12 PM

모바일에는 간단하고 직접 무료 XML에서 PDF 툴이 없습니다. 필요한 데이터 시각화 프로세스에는 복잡한 데이터 이해 및 렌더링이 포함되며 시장에있는 소위 "무료"도구의 대부분은 경험이 좋지 않습니다. 컴퓨터 측 도구를 사용하거나 클라우드 서비스를 사용하거나보다 신뢰할 수있는 전환 효과를 얻기 위해 앱을 개발하는 것이 좋습니다.

고품질로 휴대 전화에서 XML을 PDF로 변환하는 방법은 무엇입니까? 고품질로 휴대 전화에서 XML을 PDF로 변환하는 방법은 무엇입니까? Apr 02, 2025 pm 09:48 PM

휴대폰에서 고품질로 XML을 PDF로 변환하려면 클라우드에서 XML을 구문 분석하고 서버리스 컴퓨팅 플랫폼을 사용하여 PDF를 생성합니다. 효율적인 XML 파서 및 PDF 생성 라이브러리를 선택하십시오. 오류를 올바르게 처리합니다. 휴대 전화에서 무거운 작업을 피하기 위해 클라우드 컴퓨팅 파워를 최대한 활용하십시오. 복잡한 XML 구조 처리, 다중 페이지 PDF 생성 및 이미지 추가를 포함하여 요구 사항에 따라 복잡성을 조정하십시오. 로그 정보를 인쇄하여 디버그를 돕습니다. 성능을 최적화하고 효율적인 파서 및 PDF 라이브러리를 선택하고 비동기 프로그래밍 또는 XML 데이터를 사용할 수 있습니다. 우수한 코드 품질과 유지 관리를 보장하십시오.

휴대 전화에서 XML 파일을 PDF로 변환하는 방법은 무엇입니까? 휴대 전화에서 XML 파일을 PDF로 변환하는 방법은 무엇입니까? Apr 02, 2025 pm 10:12 PM

단일 애플리케이션으로 휴대 전화에서 직접 XML에서 PDF 변환을 완료하는 것은 불가능합니다. 두 단계를 통해 달성 할 수있는 클라우드 서비스를 사용해야합니다. 1. 클라우드에서 XML을 PDF로 변환하십시오. 2. 휴대 전화에서 변환 된 PDF 파일에 액세스하거나 다운로드하십시오.

See all articles