E) viết chương trình minh họa việc sử dụng gói do người dùng xác định trong python.

Sử dụng các gói là một phần thiết yếu của lập trình Python. Nếu các gói không tồn tại, các lập trình viên sẽ cần dành nhiều thời gian để viết lại mã đã được viết trước đó. Hãy hình dung một kịch bản trong đó bạn phải viết một trình phân tích cú pháp mỗi khi bạn muốn sử dụng một trình phân tích cú pháp – điều đó sẽ lãng phí rất nhiều thời gian và công sức, và các lập trình viên sẽ không làm được gì khác

Khi bạn có một số lượng lớn các lớp Python [hoặc "mô-đun"], bạn sẽ muốn sắp xếp chúng thành các gói. Khi số lượng mô-đun [nói một cách đơn giản, một mô-đun có thể chỉ là một tệp chứa một số lớp] trong bất kỳ dự án nào tăng lên đáng kể, thì sẽ khôn ngoan hơn nếu bạn tổ chức chúng thành các gói – nghĩa là đặt các mô-đun/lớp tương tự về chức năng trong cùng một thư mục. Bài viết này sẽ hướng dẫn bạn cách tạo một gói Python

Gói trong Python là gì?

Trước khi bạn có thể hiểu gói Python là gì, bạn phải có ý tưởng về tập lệnh và mô-đun là gì. Tập lệnh bao gồm mã bạn chạy trong trình bao để hoàn thành một tác vụ cụ thể. Các lập trình viên có thể viết một tập lệnh trong trình soạn thảo văn bản mà họ chọn và lưu nó vào. phần mở rộng py. Chạy tập lệnh đơn giản như sử dụng lệnh Python trong thiết bị đầu cuối

Ngược lại, một mô-đun là một chương trình Python mà người lập trình có thể nhập vào các chương trình khác hoặc trực tiếp trong chế độ tương tác của trình bao Python. Thuật ngữ “mô-đun” không được định nghĩa chặt chẽ trong Python;

Các gói Python thường bao gồm một số mô-đun. Về mặt vật lý, một gói là một thư mục gồm các mô-đun và nó có thể chứa nhiều thư mục hơn có nhiều thư mục và mô-đun hơn

Về mặt khái niệm, gói Python là một không gian tên, nghĩa là các mô-đun trong gói bị ràng buộc bởi tên của gói và có thể được tham chiếu bởi tên đó.  

Vì các mô-đun được định nghĩa là mã có thể nhập, có thể tái sử dụng, nên mọi gói có thể được định nghĩa là một mô-đun. Tuy nhiên, mọi mô-đun không thể được định nghĩa là một gói

Các thư mục gói thường chứa “__init__. py”, cho Python biết rằng thư mục là một gói. Tệp có thể trống hoặc có mã cần được thực thi khi gói được khởi tạo

Nếu bạn có một số kinh nghiệm với lập trình Python, bạn có thể quen thuộc với thuật ngữ “thư viện. ” Trong ngôn ngữ Python, “thư viện” không được định nghĩa rõ ràng như một gói hoặc một mô-đun. Tuy nhiên, khi một gói được xuất bản, nó có thể được gọi là thư viện

Các bước để tạo một gói Python

Làm việc với các gói Python thực sự đơn giản. Tất cả những gì bạn cần làm là

  1. Tạo một thư mục và đặt tên cho gói của bạn
  2. Đặt các lớp học của bạn trong đó
  3. Tạo một __init__. tập tin py trong thư mục

Đó là tất cả. Để tạo một gói Python, rất dễ dàng. Tệp

[python]
class Birds:
def __init__[self]:
''' Constructor for this class. '''
# Create some member animals
self.members = ['Sparrow', 'Robin', 'Duck']

def printMembers[self]:
print['Printing members of the Birds class']
for member in self.members:
print['\t%s ' % member]
[/python]
3 là cần thiết vì với tệp này, Python sẽ biết rằng thư mục này là một thư mục gói Python chứ không phải thư mục thông thường [hoặc thư mục – bạn muốn gọi nó là gì cũng được]. Dù sao, chính trong tệp này, chúng ta sẽ viết một số câu lệnh nhập để nhập các lớp từ gói hoàn toàn mới của chúng ta

Ví dụ về cách tạo gói Python

Trong hướng dẫn này, chúng ta sẽ tạo một gói

[python]
class Birds:
def __init__[self]:
''' Constructor for this class. '''
# Create some member animals
self.members = ['Sparrow', 'Robin', 'Duck']

def printMembers[self]:
print['Printing members of the Birds class']
for member in self.members:
print['\t%s ' % member]
[/python]
4 – chỉ chứa hai tệp mô-đun có tên là
[python]
class Birds:
def __init__[self]:
''' Constructor for this class. '''
# Create some member animals
self.members = ['Sparrow', 'Robin', 'Duck']

def printMembers[self]:
print['Printing members of the Birds class']
for member in self.members:
print['\t%s ' % member]
[/python]
5 và
[python]
class Birds:
def __init__[self]:
''' Constructor for this class. '''
# Create some member animals
self.members = ['Sparrow', 'Robin', 'Duck']

def printMembers[self]:
print['Printing members of the Birds class']
for member in self.members:
print['\t%s ' % member]
[/python]
6, chứa các lớp
[python]
class Birds:
def __init__[self]:
''' Constructor for this class. '''
# Create some member animals
self.members = ['Sparrow', 'Robin', 'Duck']

def printMembers[self]:
print['Printing members of the Birds class']
for member in self.members:
print['\t%s ' % member]
[/python]
5 và
[python]
class Birds:
def __init__[self]:
''' Constructor for this class. '''
# Create some member animals
self.members = ['Sparrow', 'Robin', 'Duck']

def printMembers[self]:
print['Printing members of the Birds class']
for member in self.members:
print['\t%s ' % member]
[/python]
6, tương ứng

Bước 1. Tạo thư mục gói

Vì vậy, đầu tiên chúng ta tạo một thư mục có tên là

[python]
class Birds:
def __init__[self]:
''' Constructor for this class. '''
# Create some member animals
self.members = ['Sparrow', 'Robin', 'Duck']

def printMembers[self]:
print['Printing members of the Birds class']
for member in self.members:
print['\t%s ' % member]
[/python]
4

Bước 2. Thêm lớp học

Bây giờ, chúng tôi tạo hai lớp cho gói của chúng tôi. Trước tiên, hãy tạo một tệp có tên 

[python]
from Mammals import Mammals
from Birds import Birds
[/python]
0 bên trong thư mục
[python]
class Birds:
def __init__[self]:
''' Constructor for this class. '''
# Create some member animals
self.members = ['Sparrow', 'Robin', 'Duck']

def printMembers[self]:
print['Printing members of the Birds class']
for member in self.members:
print['\t%s ' % member]
[/python]
4 và đặt đoạn mã sau vào đó

[python]
class Mammals:
def __init__[self]:
''' Constructor for this class. '''
# Create some member animals
self.members = ['Tiger', 'Elephant', 'Wild Cat']

def printMembers[self]:
print['Printing members of the Mammals class']
for member in self.members:
print['\t%s ' % member]
[/python]

Mã này là khá nhiều tự giải thích. Lớp này có một thuộc tính tên là

[python]
from Mammals import Mammals
from Birds import Birds
[/python]
2 – là danh sách một số động vật có vú mà chúng ta có thể quan tâm. Phương thức này cũng có một phương thức tên là 
[python]
from Mammals import Mammals
from Birds import Birds
[/python]
3, phương thức này chỉ in ra danh sách các động vật có vú thuộc lớp này. Hãy nhớ rằng, khi bạn tạo một gói Python, tất cả các lớp phải có khả năng được nhập và sẽ không được thực thi trực tiếp

Tiếp theo chúng ta tạo một lớp khác tên là

[python]
class Birds:
def __init__[self]:
''' Constructor for this class. '''
# Create some member animals
self.members = ['Sparrow', 'Robin', 'Duck']

def printMembers[self]:
print['Printing members of the Birds class']
for member in self.members:
print['\t%s ' % member]
[/python]
6. Tạo một tệp có tên
[python]
from Mammals import Mammals
from Birds import Birds
[/python]
5 bên trong thư mục
[python]
class Birds:
def __init__[self]:
''' Constructor for this class. '''
# Create some member animals
self.members = ['Sparrow', 'Robin', 'Duck']

def printMembers[self]:
print['Printing members of the Birds class']
for member in self.members:
print['\t%s ' % member]
[/python]
4 và đặt đoạn mã sau vào đó

[python]
class Birds:
def __init__[self]:
''' Constructor for this class. '''
# Create some member animals
self.members = ['Sparrow', 'Robin', 'Duck']

def printMembers[self]:
print['Printing members of the Birds class']
for member in self.members:
print['\t%s ' % member]
[/python]

Mã này tương tự như mã chúng tôi đã trình bày cho lớp

[python]
class Birds:
def __init__[self]:
''' Constructor for this class. '''
# Create some member animals
self.members = ['Sparrow', 'Robin', 'Duck']

def printMembers[self]:
print['Printing members of the Birds class']
for member in self.members:
print['\t%s ' % member]
[/python]
5

Bước 3. Thêm __init__. tập tin py

Cuối cùng, chúng tôi tạo một tệp có tên

[python]
class Birds:
def __init__[self]:
''' Constructor for this class. '''
# Create some member animals
self.members = ['Sparrow', 'Robin', 'Duck']

def printMembers[self]:
print['Printing members of the Birds class']
for member in self.members:
print['\t%s ' % member]
[/python]
3 bên trong thư mục
[python]
class Birds:
def __init__[self]:
''' Constructor for this class. '''
# Create some member animals
self.members = ['Sparrow', 'Robin', 'Duck']

def printMembers[self]:
print['Printing members of the Birds class']
for member in self.members:
print['\t%s ' % member]
[/python]
4 và đặt đoạn mã sau vào đó

[python]
from Mammals import Mammals
from Birds import Birds
[/python]

Đó là nó. Đó là tất cả những gì cần làm khi bạn tạo một gói Python. Để thử nghiệm, chúng tôi tạo một tệp đơn giản có tên là

[python]
class Birds:
def __init__[self]:
''' Constructor for this class. '''
# Create some member animals
self.members = ['Sparrow', 'Robin', 'Duck']

def printMembers[self]:
print['Printing members of the Birds class']
for member in self.members:
print['\t%s ' % member]
[/python]
00 trong cùng thư mục chứa thư mục
[python]
class Birds:
def __init__[self]:
''' Constructor for this class. '''
# Create some member animals
self.members = ['Sparrow', 'Robin', 'Duck']

def printMembers[self]:
print['Printing members of the Birds class']
for member in self.members:
print['\t%s ' % member]
[/python]
4. Chúng tôi đặt đoạn mã sau vào tệp
[python]
class Birds:
def __init__[self]:
''' Constructor for this class. '''
# Create some member animals
self.members = ['Sparrow', 'Robin', 'Duck']

def printMembers[self]:
print['Printing members of the Birds class']
for member in self.members:
print['\t%s ' % member]
[/python]
00

[python]
class Birds:
def __init__[self]:
''' Constructor for this class. '''
# Create some member animals
self.members = ['Sparrow', 'Robin', 'Duck']

def printMembers[self]:
print['Printing members of the Birds class']
for member in self.members:
print['\t%s ' % member]
[/python]
0

Cách sử dụng gói Python

Nếu bạn chưa từng sử dụng các gói Python trước đây, thì chúng tôi đã trình bày mọi thứ bạn cần biết để hiểu quy trình sử dụng các gói Python trong tập lệnh của bạn bên dưới

Nhập gói Python

Bạn có thể sử dụng từ khóa nhập để nhập gói vào chương trình Python của mình. Giả sử rằng bạn chưa cài đặt bất kỳ gói nào, Python bao gồm một bộ sưu tập lớn các gói trong cài đặt tiêu chuẩn. Bộ sưu tập các gói được cài đặt sẵn được gọi là Thư viện chuẩn Python

Thư viện tiêu chuẩn được tải với các công cụ cho các trường hợp sử dụng khác nhau, bao gồm xử lý văn bản và toán học. Bạn có thể nhập thư viện để làm toán bằng cách chạy câu lệnh

[python]
class Birds:
def __init__[self]:
''' Constructor for this class. '''
# Create some member animals
self.members = ['Sparrow', 'Robin', 'Duck']

def printMembers[self]:
print['Printing members of the Birds class']
for member in self.members:
print['\t%s ' % member]
[/python]
4

Bạn có thể coi câu lệnh nhập như một trình kích hoạt tìm kiếm cho Python để tìm một mô-đun. Trình tìm kiếm được tổ chức chặt chẽ và Python bắt đầu bằng cách tìm kiếm mô-đun được chỉ định trong bộ đệm. Tiếp theo, Python tìm kiếm mô-đun trong thư viện chuẩn và cuối cùng, nó tìm kiếm danh sách các đường dẫn.  

Danh sách các đường dẫn có thể được truy cập sau khi mô-đun sys [một mô-đun khác trong thư viện chuẩn] được nhập vào chương trình

[python]
class Birds:
def __init__[self]:
''' Constructor for this class. '''
# Create some member animals
self.members = ['Sparrow', 'Robin', 'Duck']

def printMembers[self]:
print['Printing members of the Birds class']
for member in self.members:
print['\t%s ' % member]
[/python]
5

hệ thống. đường dẫn trong mã nói trên trả về tất cả các thư mục mà Python sẽ cố gắng tìm một gói. Đôi khi, khi các lập trình viên tải xuống một gói và thử nhập gói đó, họ gặp lỗi ImportError. Đây là một ví dụ

[python]
class Birds:
def __init__[self]:
''' Constructor for this class. '''
# Create some member animals
self.members = ['Sparrow', 'Robin', 'Duck']

def printMembers[self]:
print['Printing members of the Birds class']
for member in self.members:
print['\t%s ' % member]
[/python]
6

Nếu điều này xảy ra, bạn phải kiểm tra xem gói bạn đã nhập có được đặt trong một trong các đường dẫn tìm kiếm của Python không. Nếu gói hàng không nằm trong một trong những đường dẫn đó, bạn sẽ cần mở rộng danh sách đường dẫn tìm kiếm để bao gồm vị trí của gói hàng

[python]
class Birds:
def __init__[self]:
''' Constructor for this class. '''
# Create some member animals
self.members = ['Sparrow', 'Robin', 'Duck']

def printMembers[self]:
print['Printing members of the Birds class']
for member in self.members:
print['\t%s ' % member]
[/python]
7

Chạy dòng tương đương ở trên sẽ cung cấp cho trình thông dịch thêm một vị trí để tìm các gói bạn nhập

Sự liên quan của không gian tên và bí danh

Ví dụ: khi bạn nhập mô-đun toán học vào Python, về cơ bản, bạn khởi tạo không gian tên toán học. Nói cách khác, bạn có thể tham khảo các hàm và lớp có trong mô-đun toán học bằng cách sử dụng ký hiệu dấu chấm. Đây là một ví dụ

[python]
class Birds:
def __init__[self]:
''' Constructor for this class. '''
# Create some member animals
self.members = ['Sparrow', 'Robin', 'Duck']

def printMembers[self]:
print['Printing members of the Birds class']
for member in self.members:
print['\t%s ' % member]
[/python]
8

Nếu một lập trình viên chỉ quan tâm đến một hàm cụ thể của một mô-đun, chẳng hạn như hàm giai thừa của mô-đun toán học, họ có thể sử dụng câu lệnh nhập để chỉ nhập hàm có liên quan, như vậy

[python]
class Birds:
def __init__[self]:
''' Constructor for this class. '''
# Create some member animals
self.members = ['Sparrow', 'Robin', 'Duck']

def printMembers[self]:
print['Printing members of the Birds class']
for member in self.members:
print['\t%s ' % member]
[/python]
9

Cũng có thể nhập nhiều tài nguyên từ cùng một gói bằng cách tách chúng bằng dấu phẩy

[python]
class Birds:
def __init__[self]:
''' Constructor for this class. '''
# Create some member animals
self.members = ['Sparrow', 'Robin', 'Duck']

def printMembers[self]:
print['Printing members of the Birds class']
for member in self.members:
print['\t%s ' % member]
[/python]
0

Điều quan trọng cần lưu ý là luôn có một rủi ro nhỏ xảy ra xung đột bất cứ khi nào bạn nhập một gói. Chẳng hạn, nếu một trong các biến trong tập lệnh của bạn được đặt tên là nhật ký và bạn nhập hàm nhật ký từ gói toán học, Python sẽ ghi đè hàm đó bằng biến của bạn. Điều này sẽ gây ra lỗi.  

Có thể tránh những lỗi này bằng cách nhập toàn bộ gói, như minh họa trước đó. Nếu bạn muốn tiết kiệm thời gian nhập tên gói mỗi lần sử dụng mô-đun, bạn có thể nhập gói theo cách sau

[python]
class Birds:
def __init__[self]:
''' Constructor for this class. '''
# Create some member animals
self.members = ['Sparrow', 'Robin', 'Duck']

def printMembers[self]:
print['Printing members of the Birds class']
for member in self.members:
print['\t%s ' % member]
[/python]
1

Điều này được gọi là bí danh. Một số gói thường được sử dụng có bí danh nổi tiếng. Chẳng hạn, thư viện NumPy thường được nhập dưới dạng “np. ”

Cũng có thể tránh được các lỗi do xung đột biến bằng cách nhập tất cả các tài nguyên từ một gói vào không gian tên của bạn, như vậy

[python]
class Birds:
def __init__[self]:
''' Constructor for this class. '''
# Create some member animals
self.members = ['Sparrow', 'Robin', 'Duck']

def printMembers[self]:
print['Printing members of the Birds class']
for member in self.members:
print['\t%s ' % member]
[/python]
2

Nhưng điều quan trọng cần lưu ý là phương pháp trên có rủi ro nghiêm trọng, vì bạn không biết tất cả các tên được sử dụng trong một gói và do đó khả năng các biến của bạn bị ghi đè là rất cao

Các gói do người dùng định nghĩa trong Python là gì?

Mô-đun do người dùng định nghĩa trong Python . Giờ đây, bạn có thể đưa hàng trăm dòng mã vào bất kỳ chương trình nào chỉ bằng cách viết một câu lệnh nhập đơn giản. Để tạo một mô-đun, chỉ cần đặt mã bên trong một. tập tin py. create your own functions and classes, put them inside modules and voila! You can now include hundreds of lines of code into any program just by writing a simple import statement. To create a module, just put the code inside a . py file.

Gói Python giải thích với ví dụ là gì?

Gói python là tập hợp các mô-đun . Các mô-đun có liên quan với nhau chủ yếu được đặt trong cùng một gói. Khi một mô-đun từ một gói bên ngoài được yêu cầu trong một chương trình, gói đó có thể được nhập và các mô-đun của nó có thể được đưa vào sử dụng. Bất kỳ tệp Python nào, có tên là thuộc tính tên của mô-đun mà không có.

Chủ Đề