Cái gì được sử dụng phổ biến nhất trong các mô-đun được xây dựng trong Python?

Mặc dù có rất nhiều tính năng tuyệt vời mà tôi đã nêu trong lần lặp lại trước, nhưng còn rất nhiều tính năng nữa mà thư viện chuẩn Python phải cung cấp cho những lập trình viên có thể đủ quyết tâm để trở thành một pháp sư với nó. Sức mạnh thực sự của Python nằm ở sự đơn giản của nền tảng và các khả năng mà nó có ngay lập tức, đặc biệt là thao tác dữ liệu và làm việc với các ngôn ngữ và tập lệnh khác. Tất nhiên, điều này được phản ánh rất nhiều trong các gói mà nó cung cấp, thường cung cấp chức năng để làm việc với mã, văn bản và dữ liệu bên ngoài. Thao tác dữ liệu chỉ là một phần nhỏ của thư viện chuẩn của ngôn ngữ lập trình Python thực sự có khả năng. Điều đó đang được nói, có một số ví dụ về các gói có thể được sử dụng để đưa trải nghiệm Python tiêu chuẩn lên cấp độ tiếp theo chỉ với một chút kiến ​​thức. Dưới đây là 15 mục yêu thích khác của tôi mà tôi nghĩ rằng hầu hết các lập trình viên Python có thể muốn xem qua

sổ tay

№1. cmath

Một loại chắc chắn chứng minh ý định số và khoa học của Python là loại phức tạp. Loại này đã có trong Python được một thời gian và cho phép lưu trữ cả số ảo và số thực dưới dạng một giá trị hoàn chỉnh. Điều này thường được thể hiện rõ ràng nhất bằng cách thêm các số trong chiều ảo vào một số float, chẳng hạn

5. 5 + 8. 2im

Ở đâu

  • 5. 5 là một phao thực sự
  • 8. 2 là một phao tưởng tượng

Tuy nhiên, ngoài việc chỉ giữ số, số float phức tạp về cơ bản là vô dụng nếu không có các hoạt động thích hợp để hỗ trợ chúng. Đây là nơi mô-đun cmath xuất hiện để tiết kiệm thời gian. cmath không chỉ hỗ trợ các phép toán cơ bản như căn bậc hai và hàm logarit mà còn cung cấp các hàm nâng cao hơn như pha, cực hoặc x.

Mô-đun này gần như chắc chắn là bắt buộc đối với bất kỳ người dùng Python nào có thể tương tác với các số phức. Nó không chỉ cung cấp đủ xương sống để làm bất cứ điều gì với những con số ít nhất là một phần ảo, nó còn có thể cung cấp nhiều thông tin hơn về tọa độ cực liên quan đến những con số đó. Đối với các ví dụ của tôi, tôi đã chọn sử dụng các phương thức exp[], log[] và phase[] từ mô-đun này. Tuy nhiên, không cần phải nói rằng có rất nhiều tùy chọn khác có sẵn bên trong công cụ tuyệt vời này mà chắc chắn đáng để kiểm tra

Để sử dụng cmath, trước tiên chúng ta cần nhập nó. Cá nhân tôi thường thấy mình đặt bí danh là cm, nhưng tôi phải thú nhận rằng tôi không chắc đây có phải là một quy ước hay không

import cmath as cm

Tiếp theo, chúng tôi sẽ tạo một số phức mà chúng tôi có thể đánh giá bằng

z = 5.5 + 8.2j

Cuối cùng, chúng tôi sẽ lấy giá trị phức tạp mới của mình và sử dụng một số phương thức tuyệt vời từ gói cmath trên biến mới của chúng tôi

cm.phase[z]
cm.log[z]
cm.exp[z]
№2. itertools

Công cụ cực kỳ có giá trị tiếp theo từ thư viện chuẩn Python là một mô-đun nhỏ có tên là itertools. Tôi không thể khuyên bạn nên sử dụng mô-đun này đủ, bởi vì nó thực sự có vẻ hữu ích thường xuyên hơn rất nhiều so với những gì tôi từng nghĩ. Mô-đun itertools có thể được sử dụng khá hiệu quả và dễ dàng để tạo ra các phép lặp tốt hơn và đôi khi là duy nhất mà đơn giản là sẽ mất nhiều thời gian hơn nếu không sử dụng mô-đun

Mô-đun này về cơ bản là một thành phần của một số công cụ lặp lại hàng đầu trong ngành được bao gồm trong một gói hoàn toàn Pythonic. Trong rất nhiều trường hợp, các công cụ này chỉ đơn giản được bao phủ trong Python bằng cách kết hợp việc sử dụng các tính năng Pythonic khác. Một ví dụ tuyệt vời về điều này cũng được đề cập trong tài liệu. Ngôn ngữ lập trình SML cung cấp một công cụ lập bảng, phương thức tabulate[], có thể được tạo lại bằng ngôn ngữ lập trình Python bằng cách sử dụng các hàm bản đồ và đếm đã có sẵn trong thư viện chuẩn

Không cần phải nói, mô-đun này chắc chắn là một mô-đun đáng để sở hữu. Giá trị thực của mô-đun này đến khi làm việc với phép lặp, bởi vì nó có thể làm cho nhiều tác vụ lặp không hiệu quả hoặc tẻ nhạt trở nên dễ dàng và hiệu quả hơn rất nhiều khi nói đến cả bộ nhớ và tính toán. Mô-đun bao gồm các chức năng tuyệt vời như đếm[], chuỗi[], tích lũy[], v.v.

Phần lớn, tôi đã thấy itertools có bí danh là cả nó và nó, cá nhân tôi thích nó hơn

import itertools as its

Tôi cho rằng tất cả chúng ta đều quen thuộc với bài kiểm tra lập trình Fizz Buzz. Sử dụng thử nghiệm mã hóa đơn giản này, chúng ta có thể thấy giá trị của việc sử dụng các giải pháp lặp lại hiệu quả hơn có sẵn trong itertools so với việc sử dụng Python thô để xử lý sự cố của chúng ta. Hầu hết các lập trình viên có thể sẽ thực hiện một cách tiếp cận tương tự như thế này để giải quyết vấn đề

for num in range[1, 21]:
if num % 3 == 0 and num % 5 == 0:
print['FizzBuzz']
elif num % 3 == 0:
print['Fizz']
elif num % 5 == 0:
print['Buzz']
else:
print[num]

Tất nhiên là đúng. tuy nhiên, bằng cách sử dụng itertools, chúng ta có thể cắt giảm đáng kể cả độ dài của hàm này và thời gian tính toán nó

def fizz_buzz[n]:
fizzes = its.cycle[[""] * 2 + ["Fizz"]]
buzzes = its.cycle[[""] * 4 + ["Buzz"]]
fizzes_buzzes = [fizz + buzz for fizz, buzz in zip[fizzes, buzzes]]
result = [word or n for word, n in zip[fizzes_buzzes, its.count[1]]]
for i in its.islice[result, 100]:
print[i]
№3. chia đôi

Không giống như nhiều công cụ trong danh sách này, mô-đun chia đôi có mục đích trực tiếp. Mục đích của mô-đun này là chia đôi mảng hoặc danh sách trong Python. Điều này có thể hữu ích cho tất cả các loại hoạt động khác nhau, tuy nhiên, gói này thường bị loại bỏ bởi triển khai Scipy dưới cùng tên. Nếu tôi phải đoán xem tại sao lại như vậy, tôi sẽ nói rằng có thể việc triển khai Scipy có hỗ trợ cho ma trận Numpy?

Bất kể sự chấp nhận về mặt văn hóa của nó, những người chỉ làm việc với các danh sách Pythonic đơn giản chắc chắn sẽ thấy mô-đun này rất có giá trị. Mô-đun đi kèm với các công cụ để chia đôi bình thường, cũng như bên trái và bên phải. Hơn nữa, mô-đun đi kèm với một vài khả năng thú vị hơn như insort[], sẽ chèn và sắp xếp các giá trị được cung cấp. Hãy nhập mô-đun và xem cách nó hoạt động với một danh sách

import bisect as bs

Bây giờ chúng ta có thể tạo một danh sách và chia đôi nó bằng mô-đun này

ls = [5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90]
bs.bisect[ls, 9]
№4. thống kê

Mô-đun os là một mô-đun Python cực kỳ phổ biến, tất nhiên là có trong thư viện chuẩn. Mô-đun os đi kèm với các công cụ để làm việc với hệ thống tệp, phần cứng hệ thống và thậm chí cả nhân của hệ điều hành. Mô-đun os cũng có ba chức năng

  • thống kê
  • fstat
  • thống kê

Tất cả những thứ này đều được sử dụng để lấy trạng thái của tệp hoặc lấy bộ mô tả cho tệp đã nói. Hàm stat trong mô-đun os sẽ trả về loại stat_result, đây chính xác là thứ chúng ta cần để làm việc với mô-đun stat. Do đó, bước đầu tiên khi làm việc với mô-đun này là lấy số liệu thống kê từ mô-đun os. Hãy bắt đầu bằng cách nhập mô-đun và đặt loại stat làm biến mới

________số 8

Bây giờ hãy xem loại của lớp mới này. Nếu mọi thứ diễn ra theo đúng kế hoạch, st phải thuộc loại stat_result

Bất cứ khi nào chúng tôi xem tài liệu về mô-đun stat, chúng tôi nhanh chóng biết rằng loại này không phải là thứ mà chúng tôi thực sự sẽ đưa vào chức năng mới của mình. Chúng ta có thể quan sát điều này vì chức năng stat. filemode[], ví dụ, lấy một số nguyên, không phải là một hệ điều hành. stat_result. Những gì chúng ta thực sự cần thực sự được chứa trong lớp chúng ta vừa tạo và được gọi là st_mode. Chúng ta có thể gọi nó như vậy

st.st_mode

Bây giờ hãy nhập số liệu thống kê

z = 5.5 + 8.2j
0

Bây giờ chúng ta có thể chuyển chế độ thống kê mới từ hệ điều hành của mình. lớp stat_result vào stat. hàm filemode[]

z = 5.5 + 8.2j
1

[Ảnh của tác giả]№5. khai thác gỗ

Nhiệm vụ viết kịch bản có thể cực kỳ khó khăn. Điều này đặc biệt đúng nếu có nhiều dịch vụ đồng thời và quy trình con có thể đang chạy trong nền cùng nhau dưới systemctl hoặc một cái gì đó tương tự. Có thể có rất nhiều ứng dụng và chắc chắn một số ứng dụng gần như chắc chắn sẽ có ít nhất một số vấn đề trong quá trình thực hiện. Một cách tuyệt vời để giảm thiểu vấn đề như thế này được lấy trực tiếp từ sổ tay Dev-ops,

khai thác gỗ

Ghi nhật ký là một cách dễ dàng để theo dõi một số quy trình cùng một lúc, cũng như tìm hiểu thêm một chút về những gì đang diễn ra ở hậu trường khi gặp phải một số vấn đề và ngoại lệ nhất định. Ghi nhật ký cung cấp một tập hợp các chức năng dễ sử dụng để ghi nhật ký đơn giản. Đây là

for num in range[1, 21]:
if num % 3 == 0 and num % 5 == 0:
print['FizzBuzz']
elif num % 3 == 0:
print['Fizz']
elif num % 5 == 0:
print['Buzz']
else:
print[num]
0,
for num in range[1, 21]:
if num % 3 == 0 and num % 5 == 0:
print['FizzBuzz']
elif num % 3 == 0:
print['Fizz']
elif num % 5 == 0:
print['Buzz']
else:
print[num]
1,
for num in range[1, 21]:
if num % 3 == 0 and num % 5 == 0:
print['FizzBuzz']
elif num % 3 == 0:
print['Fizz']
elif num % 5 == 0:
print['Buzz']
else:
print[num]
2,
for num in range[1, 21]:
if num % 3 == 0 and num % 5 == 0:
print['FizzBuzz']
elif num % 3 == 0:
print['Fizz']
elif num % 5 == 0:
print['Buzz']
else:
print[num]
3 và
for num in range[1, 21]:
if num % 3 == 0 and num % 5 == 0:
print['FizzBuzz']
elif num % 3 == 0:
print['Fizz']
elif num % 5 == 0:
print['Buzz']
else:
print[num]
4

Không cần phải nói, ghi nhật ký là một công cụ cực kỳ hữu ích mà tất cả các lập trình viên Python có thể muốn làm quen. Điều này đặc biệt đúng với một số lĩnh vực như Dev-op hoặc Quản trị hệ thống, nhưng điều này cũng áp dụng cho thế giới tuyệt vời của công nghệ phần mềm và Khoa học dữ liệu. Có nhiều tình huống trong quá trình triển khai và các hoạt động hàng ngày của máy tính mà việc ghi nhật ký sẽ trở nên hữu ích, đặc biệt nếu bạn muốn phát triển và gỡ lỗi các ứng dụng của riêng mình. Bây giờ chúng ta hãy làm bẩn tay với một số Python và bắt đầu tạo nhật ký của riêng mình. Tất nhiên, điều đầu tiên chúng ta sẽ muốn làm là nhập mô-đun ghi nhật ký

z = 5.5 + 8.2j
2

Bây giờ tôi sẽ sử dụng hàm basicConfig để tạo một tệp mới mà nhật ký của chúng ta có thể được đặt vào đó

z = 5.5 + 8.2j
3

Bây giờ tôi sẽ đăng nhập một số tin nhắn vào đó

z = 5.5 + 8.2j
4

Nhìn vào hệ thống tệp của chúng tôi, có một tệp nhật ký mới mà chúng tôi có thể mở sẽ có văn bản của chúng tôi bên trong tệp đó

[Ảnh của tác giả]

Một tính năng thú vị của việc triển khai ghi nhật ký này là chúng tôi có thể bỏ qua thông tin mà chúng tôi không muốn thấy trong nhật ký của mình. Ví dụ: chúng tôi có thể đặt mức ở mức 20 nếu chúng tôi không muốn xem bất kỳ thông báo gỡ lỗi nào

№6. html

Mô-đun html chủ yếu được biết đến với một mô-đun con chứa bên trong nó có tên là “trình phân tích cú pháp. ” Với cái tên, thực sự khá dễ dàng để hình dung chính xác mô-đun này dùng để làm gì. Mô-đun này có thể được sử dụng để dễ dàng phân tích cú pháp HTML trên cơ sở từng thẻ. Điều này có thể giúp làm việc với HTML có trong văn bản bạn đang đọc dễ dàng hơn rất nhiều và thậm chí có thể giúp dịch HTML thành khung dựa trên C với API Python.

Có nhiều lần một lập trình viên có thể bắt gặp một trang HTML lớn mà họ có thể không muốn xem qua hoặc một chuỗi nhận được từ một yêu cầu có thể cực kỳ khó phân tích cú pháp chỉ bằng các lát chuỗi. Nếu cần, bạn thậm chí có thể sử dụng trình phân tích cú pháp cùng với một số mã để thực sự viết HTML. Có nhiều cách sử dụng công cụ này, nhưng tôi quyết định thay vì bỏ tất cả cà rốt vào một giỏ, tôi sẽ chỉ minh họa trình phân tích cú pháp mà bạn có thể nhập từ html. trình phân tích cú pháp

z = 5.5 + 8.2j
5

Bây giờ trình phân tích cú pháp của chúng tôi đã được nhập, chúng tôi sẽ tạo một biến mới và khởi tạo một lớp HTMLParser

z = 5.5 + 8.2j
6

Cuối cùng nhưng không kém phần quan trọng, chúng ta sẽ sử dụng hàm feed[] có trong lớp HTMLParser và nạp một số HTML vào đó

z = 5.5 + 8.2j
7

Trong hầu hết các trường hợp, trình phân tích cú pháp này ít hơn nhiều so với trình phân tích cú pháp HTML và nhiều hơn về bộ tách HTML. Điều đó có nghĩa là rất có thể hầu hết các lập trình viên sử dụng mô-đun này sẽ xây dựng một trình phân tích cú pháp tùy chỉnh trên mô-đun này

№7. trình duyệt web

Mặc dù mô-đun này chắc chắn không phải là mô-đun hữu ích nhất trong danh sách này, nhưng tôi nghĩ rằng nó là một mô-đun khá thú vị và có thể hữu ích. Điều đó đang được nói, mô-đun trình duyệt web chính xác là như vậy; . Với ý nghĩ đó, bạn có thể xem xét rằng việc sử dụng nó thường xuyên nhất để tự động lấy một số liên kết web lên

Có lẽ có một số lý do khác nhau mà người ta có thể muốn làm điều này. Tôi có thể nghĩ về các ứng dụng chủ yếu trong công nghệ phần mềm có thể áp dụng, nhưng gần như chắc chắn có nhiều ứng dụng hữu ích hơn cho mô-đun này. Bất kể tính hữu ích thực sự của nó đối với lập trình viên bình thường là gì, tôi nghĩ đây là một mô-đun nhỏ khá gọn gàng, vì vậy hãy dùng thử

Đầu tiên, chúng ta có thể thực thi trực tiếp thông qua Bash để mở liên kết của mình

z = 5.5 + 8.2j
8

Hoặc tất nhiên chúng ta có thể điều hướng bằng mã Python

z = 5.5 + 8.2j
9№8. ftplib

Giao thức truyền tệp, hay FTP, là cách chúng tôi sử dụng để truyền tệp trở lại khi các đơn vị xử lý trung tâm hàng đầu chỉ có bốn lõi. Bất kể tuổi tác và sự thay thế tương ứng [với rất nhiều giải pháp tốt hơn], FTP bằng cách nào đó đã cố gắng tồn tại ở một mức độ nào đó trong những năm qua. Điều đó đang được nói, có những tình huống mà bạn có thể thực sự phải sử dụng FTP

Chỉ vì bạn có quyền truy cập tệp vào máy chủ không có nghĩa là bạn có quyền truy cập SSH vào máy chủ. Lưu ý rằng, nếu không sử dụng SCP hoặc SSH, sẽ rất khó để kết nối với một cổng mở và di chuyển các tệp của bạn. May mắn thay, FTP luôn có thể can thiệp khi tình huống kết thúc như thế này

Mặc dù tôi rất thích trình diễn gói ftplib, nhưng tôi không phải là người yêu thích giao thức này ngay từ đầu; . Tất nhiên, tôi có thể thiết lập FTP trên máy chủ của mình và sau đó quay lại và kết nối với nó từ Python trong sổ ghi chép của mình, nhưng mô-đun và tài liệu của nó tương đối cơ bản, vì vậy có khả năng mã có thể được hấp thụ chỉ bằng cách nhìn.

cm.phase[z]
cm.log[z]
cm.exp[z]
0

https. // tài liệu. con trăn. org/3/library/ftplib. html

№9. uuid

Số nhận dạng duy nhất phổ quát hoặc UUID là một khái niệm cực kỳ quan trọng trong thế giới điện toán. Điều này đặc biệt đúng với điện toán doanh nghiệp hiện đại, đôi khi có thể có hàng trăm hoặc hàng nghìn thứ khác nhau để xác định và làm việc hàng ngày. UUID cho phép máy tính dễ dàng phân biệt chính xác dữ liệu là gì. UUID được sử dụng rộng rãi trên toàn thế giới điện toán hiện đại trong tất cả các loại ứng dụng như

  • phát triển web
  • quản lý cơ sở dữ liệu
  • quản lý quy trình
  • phát triển gói

và nhiều hơn nữa

Điều tuyệt vời về mô-đun uuid là nó cực kỳ dễ sử dụng. Bạn có thể truy xuất mã định danh cho bất kỳ thứ gì bằng cách sử dụng bốn uuid1–5[] ngoại trừ 2 phương thức được cung cấp bởi mô-đun này. Phương thức uuid[] đầu tiên và được sử dụng phổ biến nhất chắc chắn là uuid1[], tuy nhiên, nhiều người cũng sử dụng uuid4[] vì uuid1[] cũng sẽ gắn thẻ mã định danh với thông tin chi tiết về máy tính đã tạo mã định danh đó. Để bắt đầu với các chức năng này, chúng ta sẽ cần nhập chúng

cm.phase[z]
cm.log[z]
cm.exp[z]
1

Bây giờ chúng ta sẽ chỉ gọi hàm uuid1[]

cm.phase[z]
cm.log[z]
cm.exp[z]
2

Chúng tôi sẽ thấy rằng điều này sẽ trả về một UUID. Điều tiếp theo chúng ta có thể làm là in ra tất cả các chức năng UUID khác nhau để xem đầu ra của chúng có thể như thế nào. Để sử dụng hai chức năng khác, UUID3[] và UUID4[], chúng tôi sẽ cần cung cấp một mã định danh không gian tên. Điều này thường được thực hiện thông qua hai giao thức khác nhau, Máy chủ tên miền [DNS] hoặc Bộ định vị tài nguyên thống nhất [URL] và cho phép tạo mã định danh dựa trên một không gian tên. Điều này sẽ tạo UUID mới của chúng tôi dựa trên hàm băm SHA-1 cho số nhận dạng. Ví dụ: chúng tôi có thể đặt không gian tên của mình thành hướng dữ liệu. com. Đối với đối số không gian tên, chúng tôi sẽ cung cấp một đối tượng không gian tên, được đóng gói trong mô-đun uuid. Về tên gọi, chúng tôi sẽ cung cấp cho datascience. com. Như bạn có thể thấy với các ví dụ được cung cấp, trung tâm của uuid1 và uuid3 thường vẫn nhất quán

cm.phase[z]
cm.log[z]
cm.exp[z]
3

[Ảnh của tác giả]№10. địa chỉ IP

Bất cứ khi nào bạn đang làm việc với các tài khoản và có lẽ đang cố gắng làm cho các tài khoản đó an toàn, thì việc theo dõi Địa chỉ Giao thức Internet hoặc địa chỉ IP là rất có ý nghĩa. Có hai phiên bản của giao thức này và giao thức này đóng vai trò là cơ sở cho mọi giao tiếp giữa máy tính và máy chủ trên toàn bộ internet. Bất cứ khi nào máy tính của bạn kết nối với một máy tính khác ở đâu đó, bạn có khả năng bị nhận dạng bởi địa chỉ IP của mình. Những địa chỉ này cung cấp nhiều bảo mật hơn cho internet, bởi vì nó giúp cả trang web và nhà cung cấp dịch vụ internet của bạn dễ dàng theo dõi những gì người dùng đang làm.

Điều đó tốt hơn hay tồi tệ hơn là một cuộc trò chuyện hoàn toàn khác trong thế giới đạo đức dữ liệu, nhưng thực tế là ipaddresses là một công cụ mà hầu hết các quản trị viên máy chủ và lập trình viên nói chung nên quen thuộc. Trong Python, chúng tôi có một mô-đun thư viện tiêu chuẩn cho cái này được gọi là ipaddress. Phần lớn, mô-đun này thường được sử dụng để giải quyết các mạng IP và cấu hình IP cục bộ trên máy chủ. Một ví dụ tuyệt vời về một ứng dụng phổ biến mà mô-đun này được sử dụng sẽ là Gunicorn3, một máy chủ web hiệu suất cao Pythonic. Nếu bạn muốn biết thêm về Gunicorn3 và có thể triển khai Flask với nó, tôi đã viết một bài báo khoảng một năm trước [thực ra là gần hai năm] mà tôi nghĩ rằng nó sử dụng nó khá tốt

Triển khai Flask với Gunicorn 3

Việc triển khai ứng dụng thường đi kèm với những hậu quả và lỗi không mong muốn. Triển khai có thể là bước tạo nên hoặc…

hướng tới khoa học dữ liệu. com

Phần lớn, gói này chỉ được sử dụng để tạo các lớp ngoài IP và đưa chúng ra khỏi thế giới chuỗi và vào thế giới Python, nơi chúng là loại duy nhất của riêng chúng. Điều đó đang được nói, điều duy nhất cần chứng minh là làm thế nào để tạo ra một lớp như vậy

cm.phase[z]
cm.log[z]
cm.exp[z]
4№11. lấy văn bản

Nhận văn bản là một công cụ thực sự thú vị khác mà tôi chắc chắn có thể thấy việc sử dụng từ thư viện tiêu chuẩn. Gettext là một triển khai thực sự thú vị để dịch sang cơ sở của Python, điều mà tôi nghĩ là khá tuyệt vời. Cho đến nay, phương thức phổ biến nhất được sử dụng trong vấn đề này là phương thức gettext[]. Phương thức nhận một tham số sẽ là một chuỗi và sẽ là văn bản mà chúng tôi muốn dịch

cm.phase[z]
cm.log[z]
cm.exp[z]
5

Để thực sự làm việc với gói này, chúng tôi sẽ cần tải dữ liệu ngôn ngữ vào đó. Điều này khá phổ biến, vì có khả năng mô-đun sẽ rất lớn nếu không có khả năng này. Quá trình này thực sự dài và tôi dự định sẽ đề cập đến nó trong một bài viết trong tương lai vì đơn giản là sẽ mất quá nhiều thời gian để giải thích ở đây. Tuy nhiên, tôi có thể giải thích quy trình cơ bản và những ưu điểm của việc sử dụng gettext trước khi thảo luận về một vấn đề nghiêm trọng có thể xảy ra với công cụ này

Gettext được sử dụng bằng cách tạo một. hồ sơ nồi. Các. tệp pot chứa thông tin dịch cho một trường hợp riêng lẻ hoặc toàn bộ ứng dụng. Sau đó, tệp này được tải và sẽ tải vào ngôn ngữ đã đặt khi được sử dụng với phương thức gettext[]. Đây là một cách tuyệt vời để làm việc với bản dịch, bởi vì nó giữ cho phần lập trình và phần dịch hoàn toàn tách biệt

cm.phase[z]
cm.log[z]
cm.exp[z]
6

Lỗ hổng đáng kể duy nhất với công cụ này có thể là giấy phép của nó. Gettext được phát hành theo GPL và các giấy phép phần mềm miễn phí khác. Điều này có vấn đề vì nó có thể có nghĩa là công cụ này không có sẵn để sử dụng cho mục đích thương mại. Điều này có nghĩa là về cơ bản mọi hoạt động sử dụng cá nhân hoặc sử dụng tại nơi làm việc đều vi phạm giấy phép mà nó được phân phối cùng với. Cấp phép là một điều quan trọng cần chú ý trong thế giới phần mềm, bởi vì bạn có thể gặp rất nhiều rắc rối khi sử dụng phần mềm có giấy phép sai theo cách sai. Điều đó đang được nói, một phần thú vị của cuộc thảo luận về cấp phép đó là gettext đang được đóng gói bằng Python trong trường hợp này, được đóng gói theo ngôn ngữ PSF - đây là một giấy phép tự do và tự do hơn nhiều mà tôi sẽ so sánh với giấy phép MIT. Cả hai giấy phép đó có thể ám chỉ rằng giấy phép này có thể được sử dụng trong môi trường chuyên nghiệp, tuy nhiên tôi không phải là luật sư và thực sự không thể nói liệu việc cấp phép cho phần mềm này có ngăn cản việc sử dụng nó trong thế giới thực hay không

№12. dưa chua

Có lẽ mô-đun thư viện tiêu chuẩn có giá trị nhất cho Khoa học dữ liệu trong danh sách này là mô-đun dưa chua. Mô-đun pickle được sử dụng để tuần tự hóa các loại thành dữ liệu nén mà sau này có thể được tải và sử dụng lại bên trong một môi trường khác. Điều này cực kỳ hữu ích cho những thứ như mô-đun học máy, thường chứa các lớp chứa đầy từ điển và số để xác định mô hình có thể cần làm gì trong các trường hợp cụ thể

Để sử dụng mô-đun này, chúng tôi sẽ cần chuẩn bị một lớp mà chúng tôi muốn tuần tự hóa. Đối với ví dụ này, tôi quyết định tạo một lớp học về mọi người

cm.phase[z]
cm.log[z]
cm.exp[z]
7

Bây giờ tôi sẽ tạo ra chính mình

cm.phase[z]
cm.log[z]
cm.exp[z]
8

[Ảnh của tác giả]

Lạ thật…

Tôi thấy thật kỳ lạ khi Python không quan tâm đến thứ tự hoạt động. Tôi cũng nghĩ thật lạ khi ^[float, int] không hoạt động. Tôi đã làm hỏng toán học Julian, tôi cho rằng. Chúng tôi có thể sửa lỗi này bằng một bộ dấu ngoặc đơn

cm.phase[z]
cm.log[z]
cm.exp[z]
9

Bây giờ, hãy tạo đối tượng emmett của chúng ta và tuần tự hóa nó

import itertools as its
0

Để tuần tự hóa lớp mới của chúng ta thành một tệp, chúng ta sẽ sử dụng phương thức pickle. chức năng đổ []. Cách tốt nhất để sử dụng hàm này là sử dụng cú pháp with. Khối with sẽ cho phép chúng tôi xác định một biến mới dưới dạng tệp có thể ghi mở và sau đó cắm luồng tệp đó vào chức năng của chúng tôi cũng như gọi nó

import itertools as its
1

Bây giờ chúng tôi sẽ làm tương tự, nhưng thay vào đó chúng tôi sẽ tải bằng dưa chua. hàm tải []. Chúng tôi cũng sẽ thay đổi đặc quyền ghi thành đặc quyền đọc bằng cách thay thế w của chúng tôi bằng r

import itertools as its
2

Bây giờ emmett2 giống hệt với lớp emmett và có thể được di chuyển, chia sẻ và sử dụng lại

№13. lại

Một khái niệm lập trình có khả năng sẽ thay đổi cách bạn làm việc với các chuỗi trong lần đầu tiên bạn sử dụng nó là biểu thức chính quy. Biểu thức chính quy là các lệnh nhỏ thú vị có thể được đặt trong một chuỗi để cho máy tính biết cách xử lý chuỗi đã nói. Gói re cung cấp đối sánh biểu thức chính quy tương tự như đối sánh của ngôn ngữ lập trình Perl

Nói như vậy, mô-đun re trong Python được sử dụng để phát hiện và phân tích cú pháp các biểu thức chính quy này. Điều này có thể hữu ích cho các ứng dụng có thể cần diễn giải nhiều chuỗi đến từ các ứng dụng khác. Các chuỗi này có thể cần phải hoạt động theo một cách nhất định hoặc thực hiện một tác vụ cụ thể khi được mã hóa bằng biểu thức chính quy. Một ví dụ tuyệt vời về điều này mà hầu hết các lập trình viên đều quen thuộc là markdown. Markdown sử dụng các biểu thức để cho biết khi nào nên sử dụng một số độ cao tiêu đề, dấu đầu dòng, hình ảnh và các tính năng văn bản khác như siêu liên kết

Hàm được sử dụng phổ biến nhất trong gói này chắc chắn sẽ là hàm compile[]. Hàm này có thể được sử dụng để biến bất kỳ chuỗi nào thành đối tượng biểu thức chính quy mà sau đó có thể được sử dụng trên toàn bộ gói. Tôi không nghĩ rằng bất cứ ai đã từng cảm thấy cần phải đặt bí danh này

import itertools as its
3

Hãy thử hàm compile[] đó trên một chuỗi

import itertools as its
4№14. sao chép

Khi làm việc với các loại, sẽ luôn có một cuộc trò chuyện về khả năng thay đổi. Tính đột biến có những nhược điểm và ưu điểm của nó. Python là một ngôn ngữ kiểu động, có nghĩa là kiểu có thể thay đổi thường xuyên. Không chỉ vậy, ngôn ngữ này còn mang nhiều tính năng lặp hơn, có nghĩa là ngôn ngữ này thường không thực sự quan tâm nhiều đến việc bảo toàn dữ liệu. Vì lý do này, điều cực kỳ quan trọng là phải liên tục tạo các bản sao của các loại của bạn để tránh một đột biến tai hại và không thể đảo ngược đối với dữ liệu của lớp học của bạn.

May mắn thay, đảm bảo an toàn và sao chép tác phẩm của bạn tương đối dễ dàng trong Python. Có một công cụ thư viện tiêu chuẩn đi kèm với bản cài đặt Python của bạn có tên là copy

import itertools as its
5

Mô-đun sao chép sẽ cung cấp hai chức năng, sao chép và sao chép sâu. Sự khác biệt giữa hai loại này là copy tạo tham chiếu đến các đối tượng con, trong khi deepcopy sao chép đệ quy các đối tượng đó. Với ý nghĩ đó, có thể là khôn ngoan khi sao chép sâu các lớp được xây dựng với các lớp bên dưới nó, nhưng sẽ hợp lý hơn nếu chỉ sử dụng bản sao khi làm việc với các kiểu dữ liệu đơn giản bên trong một lớp

import itertools as its
6№15. công cụ chức năng

Công cụ chức năng là một hộp công cụ rộng gồm các công cụ thường tương tác với trình biên dịch Python có thể được sử dụng trên các chức năng để kiểm soát các cách cụ thể mà chúng hoạt động. Có một ví dụ tuyệt vời về cách sử dụng này trong tài liệu mà tôi nghĩ đã làm nổi bật lý do tại sao nó chắc chắn là một gói hữu ích để làm việc với

import itertools as its
7

Bây giờ chúng ta hãy xem một ví dụ cơ bản trong đó các funcool có thể cực kỳ hữu ích và thực sự tuyệt vời. Một phép tính khó thực hiện đối với máy tính là phép tính giai thừa. Thông thường, chúng được tính toán bằng cách sử dụng bảng tra cứu vì việc tính toán của chúng thực sự rất khó thực hiện. Điều này là có lý do, vì bản thân giai thừa là một cách tuyệt vời để giải thích đệ quy. Chúng ta có thể viết một hàm giai thừa đệ quy bằng Python như vậy

import itertools as its
8

Điểm trừ duy nhất của hàm này là nó sẽ liên tục gọi chính nó để tính giai thừa. Điều này sẽ phá hủy hiệu suất với mỗi lần sử dụng chức năng. Tuy nhiên, điều đó đang được nói, chúng ta có thể cải thiện các cuộc gọi tiếp theo bằng cách lưu trữ kết quả của các phép tính trước đó trong bộ nhớ. Mô-đun funcools cho phép chúng tôi làm như vậy với lệnh gọi bộ đệm

import itertools as its
9

Giờ đây, mỗi khi giai thừa gọi một phép tính đã được lưu vào bộ đệm, thay vào đó, nó chỉ đơn giản là tải số từ bộ nhớ. Điều này sẽ tiết kiệm đáng kể hiệu suất của chúng tôi

Phần kết luận

Có hơn 200.000 gói dành cho ngôn ngữ lập trình Python và rất nhiều gói trong số đó đã được thiết lập và đáng tin cậy. Tuy nhiên, các phần phụ thuộc có thể khá khó xử lý và thường có nhiều cách để khắc phục việc sử dụng không gian môi trường bằng cách xem thư viện tiêu chuẩn. Ngoài ra, có rất nhiều công cụ bên trong thư viện tiêu chuẩn chắc chắn có thể hoàn thành công việc và cung cấp cho bạn nhiều ý tưởng về những gì sẽ lập trình tiếp theo. Trong tương lai, hy vọng một số công cụ tuyệt vời này sẽ được sử dụng và thông tin được cung cấp ở đây trên các mô-đun này sẽ hữu ích. Cảm ơn bạn đã đọc

một số xây dựng được sử dụng phổ biến nhất là gì

Trong chương này, chúng ta sẽ thảo luận về một số chức năng thường được sử dụng từ một số mô-đun tích hợp sẵn. .
mô-đun hệ điều hành
mô-đun ngẫu nhiên
học phần toán học
mô-đun thời gian
mô-đun hệ thống
mô-đun bộ sưu tập
mô-đun thống kê

Mô-đun Python được sử dụng nhiều nhất là gì?

15 mô-đun Python hữu ích nhất .
Mô-đun Python Numpy
Mô-đun Python Pandas
Mô-đun Python Matplotlib
Mô-đun Python NLTK
OpenCV

tên mô-đun Python là gì một số xây dựng thường được sử dụng

Mô-đun tích hợp Python . print[] and input[] for I/O, Number conversion functions such as int[], float[], complex[], Data type conversions such as list[], tuple[], set[], etc.

Cái nào sau đây được xây dựng

Ví dụ: Python có một mô-đun tích hợp có tên ' toán tử ', bên trong đó hàm có tên 'eq[]' được xác định.

Chủ Đề