HomeLập trìnhPython10 gói Python...

10 gói Python bên ngoài mà bạn sẽ yêu thích


bởi Adam Goldschmidt

Tehd4MeGX2yYQUFUtdcWWNbUE7Qk9qFsZ9-Z
Ảnh của Brina Blum trên Bapt

Python là một thử nghiệm về mức độ tự do mà các lập trình viên cần. Quá nhiều tự do và không ai có thể đọc mã của người khác; quá ít và tính biểu cảm bị đe dọa. – Hướng dẫn van Rossum

Sự tự do mà Guido nói đến là một phần khiến Python trở nên phổ biến. Sự phổ biến đó, trong số những thứ khác, là điều thu hút ngày càng nhiều nhà phát triển sử dụng ngôn ngữ này – cuối cùng dẫn đến một số dự án nguồn mở thực sự tuyệt vời.

Tôi thường tìm kiếm dự án của mình trên GitHub mỗi ngày một lần. Trong suốt bài viết này, tôi sẽ cố gắng đề cập đến 10 gói tuyệt vời mà bạn có thể đã quen thuộc hoặc chưa quen thuộc. Tôi sẽ bắt đầu từ thứ ít hợp thời trang hơn và kết thúc với… à, Flask.

Hãy bắt đầu nào!

oGpPuDrsAM6KYONzQCrIZXv1xAEIv-oVuIUT

Loguru — Ghi nhật ký dễ dàng

DWrohhPZvoWbH4s8apMbg8nXZOtf3m0lAhvk

Đây là một gói thực sự tuyệt vời mà tôi thường xuyên sử dụng trong các dự án của mình. Nó tự mô tả mình là “một thư viện nhằm mục đích mang lại sự thú vị khi đăng nhập bằng Python”. Gói này chỉ cho phép bạn dễ dàng định cấu hình nhật ký của mình ngay lập tức.

Đọc thêm  Cách tự động hóa công việc bằng Python

Tất cả những gì bạn phải làm sau khi cài đặt là nhập mô-đun:

from loguru import logger

Và bạn có thể tự do sử dụng nó ngay lập tức:

logger.debug("Hello, cool debugger")

Tài liệu tốt và có nhiều tùy chọn tùy chỉnh.

more-itertools

Nhiều phương pháp thú vị đôi khi có thể trở nên rất hữu ích, chẳng hạn như peekable:

>>> p = peekable(['a', 'b'])>>> p.peek()'a'>>> next(p)'a'

hoặc chunked:

>>> list(chunked([1, 2, 3, 4, 5, 6], 3))[[1, 2, 3], [4, 5, 6]]

MonkeyType — Trình tạo chú thích kiểu tĩnh

monkeytype run myscript.py

Gói này tự động tạo các chú thích kiểu cho bạn, trong tệp sơ khai hoặc trong chính mã nguồn, bằng cách thu thập các kiểu thời gian chạy. Đúng vậy, Python không bắt buộc bạn phải sử dụng chú thích — nhưng tôi tin rằng chúng rất quan trọng đối với khả năng đọc mã (và đôi khi để tránh lỗi), đó cũng là lý do tại sao có thêm 2 gói trong danh sách này đang xử lý chú thích loại: )

Pyright — Trình kiểm tra kiểu tĩnh

B5KVRNqA90q0PqVY18dvfvc7m7rbjYYVf1EP

Gói mới thú vị đến từ Microsoft. Cam kết ban đầu chỉ cách đây 17 ngày! Gói này là đối thủ cạnh tranh của Mypy (cũng nằm trong danh sách này). Thành thật mà nói, tôi chưa có cơ hội sử dụng nó, nhưng tôi chắc chắn sẽ có kế hoạch. Tôi hiện đang sử dụng mypy làm trình kiểm tra loại, nhưng tôi sẽ thử cái này!

yêu cầu không đồng bộ – hỗ trợ cho async/await cú pháp cho requests

Đây là một gói mới mà tôi đã phát hiện ra vào một ngày khác trên GitHub và nó có vẻ khá hứa hẹn. Tất cả chúng ta đều biết gói yêu cầu, cho phép chúng ta dễ dàng xử lý các yêu cầu HTTP trong mã của mình. Vâng, gói này thực hiện asyncawait từ cho những yêu cầu này:

import requests_async as requests​response = await requests.get('https://example.org')print(response.status_code)print(response.text)

Khá mát mẻ phải không?

Đọc thêm  strftime – Chuỗi dấu thời gian DateTime của Python

HTTPie — Dòng lệnh hiện đại cURL

UAD--5ZtcqjDRRKA4Y1oXEWzob6GTM94sXGa

Những ai đã từng sử dụng cURL trước đây chắc hẳn biết điều đó không vui chút nào. Phải nhớ tên các tham số, đảm bảo dữ liệu của bạn được đóng gói… Chà, HTTPie nhằm mục đích làm cho việc này trở nên dễ dàng hơn nhiều. Đây là một trong những ví dụ của họ, về việc gửi dữ liệu biểu mẫu:

http -f POST example.org hello=World

pipenv — Đóng gói tốt hơn cho Python

Khi tôi bắt đầu một dự án mới, tôi luôn tạo một dự án mới virtualenv và cài đặt một số gói cơ bản với pip. Sau đó, tôi cần lưu các tên gói này vào một tệp, có thể là setup.py hoặc requirements.txt. Những bạn đã từng làm việc với npm, biết rằng nó đơn giản hơn nhiều ở đó. Tất cả những gì bạn cần làm là viết npm —save và tên gói được lưu trong của bạn package.json. Đó là lý do tại sao lần đầu tiên tôi tạo pypkgfreeze, một gói đơn giản để “đóng băng” các phiên bản bạn đang sử dụng pip gói vào setup.py.

Dù sao, pipenv là một giải pháp thú vị nhằm hợp nhất hai thế giới – Họ mô tả nó tốt nhất trong trang repo của họ:

Nó tự động tạo và quản lý một virtualenv cho các dự án của bạn, cũng như thêm/xóa các gói khỏi dự án của bạn. Pipfile khi bạn cài đặt/gỡ cài đặt các gói. Nó cũng tạo ra những điều luôn luôn quan trọng Pipfile.lockđược sử dụng để tạo các bản dựng xác định.

Đọc thêm  Hợp nhất thuật toán sắp xếp – Các ví dụ về Python và Java với độ phức tạp về thời gian

Bạn có thể dùng thử tại đây.

mypy — Trình kiểm tra kiểu tĩnh

Như tôi đã nói trước đây, đây là gói tôi hiện đang sử dụng làm trình kiểm tra kiểu tĩnh tiêu chuẩn của mình. Nó giúp tôi giữ cho mã của mình dễ đọc và thanh lịch (tôi nghĩ vậy).

đen

dQoUny7l5N6sWs2GCECZKHALf59t9398hNNp

Tôi đã thử nhiều trình định dạng Python và black rõ ràng là yêu thích của tôi. Cú pháp trông gọn gàng và dòng lệnh chạy nhanh và có thể kiểm tra các tệp hoặc thực sự chỉnh sửa chúng – rất hữu ích cho CI/CD. Bạn thậm chí có thể thử nó ở đây!

bình giữ nhiệt

Không chắc liệu tôi có bất cứ điều gì để viết ở đây mà chưa được viết trước đây hay không. Bạn có thể đã quen thuộc với khuôn khổ vi mô đáng kinh ngạc này, và nếu chưa biết thì .. bạn chắc chắn nên kiểm tra nó.

Trước khi bạn đi…

Cảm ơn vì đã đọc! Bạn có thể theo dõi tài khoản GitHub của tôi để biết thêm các bản repos thú vị. Tôi có xu hướng đánh dấu sao cho mọi thứ hay ho mà tôi thấy 🙂

Nếu bạn thích bài viết này, vui lòng giữ nút vỗ tay ? để giúp những người khác tìm thấy nó. Bạn giữ nó càng lâu, bạn càng vỗ tay nhiều hơn!

Và đừng ngần ngại chia sẻ suy nghĩ của bạn trong phần bình luận bên dưới.



Zik.vn – Biên dịch & Biên soạn Lại

spot_img

Create a website from scratch

Just drag and drop elements in a page to get started with Newspaper Theme.

Buy Now ⟶

Bài viết liên quang

DMCA.com Protection Status