Nhập trong python tương tự như #include header_file trong C/C++. Các mô-đun Python có thể truy cập mã từ một mô-đun khác bằng cách nhập tệp/hàm bằng cách nhập. Câu lệnh nhập khẩu là cách phổ biến nhất để gọi máy móc nhập khẩu, nhưng nó không phải là cách duy nhất
nhập module_name
Khi quá trình nhập được sử dụng, nó sẽ tìm kiếm mô-đun ban đầu trong phạm vi cục bộ bằng cách gọi hàm __import__[]. Giá trị được trả về bởi hàm sau đó được phản ánh trong đầu ra của mã ban đầu.
TRĂN
3.1415926535897934
3.1415926535897935
________ 66 ________ 67 ________ 68
3.1415926535897939
3.1415926535897930
3.1415926535897931
3.1415926535897932
đầu ra
The value of pi is : ', 3.141592653589793
nhập module_name. Tên thành viên
Trong mô-đun mã trên, toán học được nhập và các biến của nó có thể được truy cập bằng cách coi nó là một lớp và pi là đối tượng của nó.
Giá trị của pi được trả về bởi __import__[]. toàn bộ pi có thể được nhập vào mã ban đầu của chúng tôi, thay vì nhập toàn bộ mô-đun.
TRĂN
3.1415926535897933
3.1415926535897935
3.1415926535897934
3.1415926535897936
3.1415926535897937
3.1415926535897938
3.1415926535897939
3.1415926535897939
3.14159265359 7201
đầu ra
3.141592653589793
từ module_name nhập *
Trong mô-đun mã trên, toán học không được nhập, mà chỉ có số pi được nhập dưới dạng một biến.
Tất cả các hàm và hằng số có thể được nhập bằng cách sử dụng *.
TRĂN
3.1415926535897933
3.1415926535897935
3.1415926535897934
3.14159265359 7205
3.1415926535897939
3.14159265359 7201
3.1415926535897939
3.14159265359 7209
3.14159265358979350
3.14159265358979351
Đầu ra
3.14159265359 720
Như đã nói ở trên, nhập sử dụng __import__[] để tìm kiếm mô-đun và nếu không tìm thấy, nó sẽ tăng ImportError
TRĂN
3.1415926535897934
3.14159265358979353
3.1415926535897939
3.14159265358979355
đầu ra
3.1415926535897935
Bài viết này được đóng góp bởi Piyush Doorwar. Nếu bạn thích GeeksforGeeks và muốn đóng góp, bạn cũng có thể viết một bài báo bằng cách sử dụng write. chuyên viên máy tính. org hoặc gửi bài viết của bạn tới review-team@geeksforgeeks. tổ chức. Xem bài viết của bạn xuất hiện trên trang chính của GeeksforGeeks và trợ giúp các Geeks khác
Một mô-đun là một tệp có mã python. Mã có thể ở dạng biến, hàm hoặc lớp được xác định. Tên tệp trở thành tên mô-đun
Ví dụ: nếu tên tệp của bạn là guru99. py, tên mô-đun sẽ là guru99. Với chức năng mô-đun, bạn có thể chia mã của mình thành các tệp khác nhau thay vì viết mọi thứ bên trong một tệp
Trong hướng dẫn này, bạn sẽ học
Mô-đun nhập Python là gì?
Một tệp được coi là một mô-đun trong python. Để sử dụng mô-đun, bạn phải nhập nó bằng từ khóa nhập. Hàm hoặc các biến có trong tệp có thể được sử dụng trong tệp khác bằng cách nhập mô-đun. Chức năng này có sẵn trong các ngôn ngữ khác, như TypeScript, JavaScript, java, ruby, v.v.
Làm cách nào để tạo và nhập một mô-đun trong Python?
Bây giờ chúng ta sẽ tạo một mô-đun và nhập nó vào một tệp khác
Đây là quy trình tạo và nhập mô-đun như trong ảnh chụp màn hình
Làm theo các bước đã cho để tạo một mô-đun trong python
Cấu trúc thư mục được sử dụng để kiểm tra mã như sau
3.1415926535897931
Bước 1] Tạo một tệp và đặt tên là test. py
Bước 2] Kiểm tra bên trong. py tạo một hàm gọi là display_message[]
3.1415926535897932
Bước 3] Bây giờ hãy tạo một màn hình tệp khác. py
Bước 4] Màn hình bên trong. py nhập moduletest. py, như hình bên dưới
3.1415926535897933
Trong khi nhập, bạn không cần phải đề cập đến bài kiểm tra. py mà chỉ là tên của tệp
Bước5]
Sau đó, bạn có thể gọi hàm display_message[] từ test. py bên trong màn hình. py, bạn cần sử dụng module_name. Tên chức năng
Ví dụ kiểm tra. display_message[]
3.1415926535897934
Bước 6]
Khi bạn thực hiện hiển thị. py, bạn sẽ nhận được kết quả sau
3.1415926535897935
Nhập một lớp trong Python
Trước đó, chúng ta đã thấy một mô-đun đơn giản có chức năng. Ở đây sẽ tạo một lớp và giới thiệu lớp bên trong một tệp khác
Cấu trúc thư mục để kiểm tra mã như sau
3.1415926535897936
Tạo một tệp có tên Xe hơi. py với đoạn mã sau
tên tệp. Xe ô tô. py
3.1415926535897937
Trong tập tin Ôtô. py , có các thuộc tính brand_name, model và manu_year. Các hàm được định nghĩa bên trong lớp là car_details[], get_Car_brand[], get_Car_model[]
Bây giờ chúng ta hãy sử dụng tệp Car. py dưới dạng một mô-đun trong một tệp khác có tên là display. py
tên tệp. trưng bày. py
3.1415926535897938
đầu ra
3.1415926535897939
Vì vậy, chúng tôi có thể truy cập tất cả các biến và chức năng từ Car. py sử dụng mô-đun Ô tô
Sử dụng từ để nhập mô-đun
Bạn chỉ có thể nhập một phần nhỏ của mô-đun tôi. e. , chỉ các hàm và tên biến được yêu cầu từ mô-đun thay vì nhập mã đầy đủ
Khi bạn chỉ muốn nhập những thứ cụ thể, bạn có thể sử dụng từ khóa “từ” để nhập những gì bạn muốn
Vì vậy, cú pháp là
The value of pi is : ', 3.1415926535897930
Cấu trúc thư mục được sử dụng để kiểm tra mã như sau
3.1415926535897931
trong thử nghiệm. py có 2 chức năng như hình
tên tệp. kiểm tra. py
3.14159265358979321
Bây giờ bạn muốn chức năng display_message[]. Hàm hoặc biến mà bạn đang nhập có thể được truy cập trực tiếp như hình bên dưới
Tên tệp. trưng bày. py
3.14159265358979322
đầu ra
3.1415926535897935
Bây giờ nếu bạn tình cờ sử dụng hàm display_message1[], nó sẽ báo lỗi rằng hàm không được xác định như hình bên dưới
3.14159265358979324
đầu ra
3.14159265358979325
Nhập mọi thứ từ mô-đun
Nhập cho phép bạn nhập mô-đun đầy đủ bằng cách nhập theo sau tên mô-đun, tôi. e. , tên tệp hoặc thư viện sẽ được sử dụng
cú pháp
3.14159265358979326
Hoặc bằng cách sử dụng
3.14159265358979327
Cấu trúc thư mục được sử dụng để kiểm tra mã như sau
3.1415926535897931
Sau đây là các chi tiết mã bên trong thử nghiệm. py
3.14159265358979329
Sử dụng mô-đun nhập
Chỉ sử dụng tên mô-đun nhập, để chỉ các biến và chức năng bên trong mô-đun, nó phải thêm tiền tố vào tên mô-đun
Ví dụ
tên tệp. trưng bày. py
3.14159265358979330
Tên module test được dùng để chỉ chức năng và các biến bên trong module test
đầu ra
3.14159265358979331
Sử dụng nhập khẩu *
Hãy để chúng tôi xem một ví dụ sử dụng nhập *. Sử dụng nhập *, các hàm và biến có thể truy cập trực tiếp, như trong ví dụ bên dưới
3.14159265358979332
đầu ra
3.14159265358979331
Hàm dir[]
dir[] là một hàm tích hợp sẵn trong python. dir[] trả về tất cả các thuộc tính và phương thức, bao gồm các thuộc tính có sẵn của đối tượng đã cho
Vì vậy, khi dir[] được sử dụng trên mô-đun, nó sẽ cung cấp cho bạn các biến, hàm có bên trong mô-đun
Đây là một ví dụ hoạt động của dir[] trên một mô-đun. Chúng tôi có một lớp gọi là Xe hơi. py, chúng ta hãy nhập Car và gán cho dir[] để xem đầu ra
Cấu trúc thư mục để test code sẽ như sau
3.14159265358979334
tên tệp. Xe ô tô. py
3.1415926535897937
tên tệp. kiểm tra. py
3.14159265358979336
Đầu ra cung cấp cho chúng ta tên của lớp và tất cả các hàm được định nghĩa trong Car. py
Bạn cũng có thể thử sử dụng dir[] trên mô-đun tích hợp sẵn trong Python. Hãy để chúng tôi thử tương tự trên mô-đun json như trong ví dụ bên dưới. Nó sẽ hiển thị tất cả các thuộc tính và phương thức có sẵn trong mô-đun json
3.14159265358979337
đầu ra
3.14159265358979338
gói
Một gói là một thư mục với tất cả các mô-đun được xác định bên trong nó. Để làm cho trình thông dịch Python coi nó như một gói, thư mục của bạn phải có init. pyfile. ban đầu. py tạo thư mục dưới dạng gói. Đây là bố cục của gói mà chúng ta sẽ làm việc
Tên của gói là gói của tôi. Để bắt đầu làm việc với gói, hãy tạo một thư mục có tên là gói/. Trong thư mục, tạo một tệp trống có tên __init__. py. Tạo thêm 3 file module1. py, mô-đun2. py và mô-đun3. py và xác định các chức năng như trong ảnh chụp màn hình. Dưới đây là chi tiết của module1. py,mô-đun2. py và mô-đun3. py
mô-đun 1. py
3.14159265358979339
mô-đun2. py
3.14159265358979340
mô-đun3. py
3.14159265358979341
Các gói đã sẵn sàng để sử dụng. Bây giờ hãy gọi gói bên trong bất kỳ tệp nào của bạn như hình bên dưới. kiểm tra. py
Đây, gói của tôi. module1 được nhập và đặt tên bí danh là mod1. Tương tự, bạn có thể sử dụng các mô-đun khác module2. py và mô-đun3. py từ gói của tôi
3.14159265358979342
đầu ra
3.14159265358979343
Chúng tôi vừa minh họa gói với một mô-đun đơn giản với các chức năng bên trong nó. Theo dự án của bạn, bạn cũng có thể đóng gói với các gói phụ. Thư mục con/có các mô-đun với các lớp được xác định
Đường dẫn tìm kiếm mô-đun Python
Trong quá trình thực thi, khi python bắt gặp tên mô-đun nhập, trình thông dịch sẽ cố gắng định vị mô-đun. Nó tìm kiếm mô-đun trong danh sách mô-đun tích hợp. Cuối cùng, các thư mục được xác định bên trong sys. đường dẫn
Tóm lại, trình thông dịch thực hiện tìm kiếm sau để định vị mô-đun
- Trong thư mục hiện tại của bạn
- Trong danh sách mô-đun tích hợp
- Bên trong hệ thống. thư mục đường dẫn
Bạn có thể lấy thông tin chi tiết về sys. đường dẫn bằng cách nhập mô-đun sys và in sys. đường dẫn. Nó sẽ cung cấp cho bạn danh sách các thư mục như hình dưới đây
3.14159265358979344
đầu ra
3.14159265358979345
Bạn cũng có thể sửa đổi đường dẫn và giữ các thư mục theo yêu cầu của mình
Sử dụng bí danh mô-đun trong quá trình nhập
Bạn cũng có thể chuyển đổi tên mô-đun sang dạng ngắn hơn bằng cách đặt tên bí danh cho nó. Bí danh có thể được thực hiện bằng cách sử dụng từ khóa
cú pháp
3.14159265358979346
Cấu trúc thư mục để test code sẽ như sau
3.14159265358979347
Sau đây là mã bên trong bài kiểm tra. py
3.14159265358979348
Bây giờ sẽ sử dụng bí danh để kiểm tra. py trong màn hình. py
3.14159265358979349
Bí danh được sử dụng cho mô-đun thử nghiệm là t. Vì vậy, chức năng và các biến từ kiểm tra. py có thể được giới thiệu bằng cách sử dụng bí danh t
đầu ra
3.14159265358979331
Nhập tuyệt đối và tương đối trong Python
Bây giờ bạn đã biết cách nhập tệp dưới dạng mô-đun bên trong tệp khác. Bây giờ chúng ta hãy xem cách quản lý các tệp có sẵn trong các thư mục. Các tệp trong các thư mục có thể được nhập bằng cách sử dụng nhập tuyệt đối hoặc tương đối
Hãy xem xét bạn có cấu trúc thư mục dự án của mình, như được hiển thị bên dưới
Thư mục gốc là dự án của tôi/. Nó có hai thư mục con pack1 và pack2
Thư mục pack1 có hai mô-đun, module1. py và mô-đun2. py
Thư mục pack2 có một lớp myclass. py, gói con subpkg với module3. py và mô-đun cuối cùng4. py
- Trong mô-đun1. py, có một chức năng được gọi là myfunc1
- Trong mô-đun 2. py, có một chức năng được gọi là myfunc2
- trong mô-đun 3. py, có một chức năng được gọi là myfunc3
- Trong mô-đun 4. py, có một chức năng được gọi là myfunc4
Sử dụng nhập khẩu tuyệt đối
Đối với Nhập tuyệt đối, bạn cần thêm toàn bộ đường dẫn của mô-đun ngay từ thư mục gốc của dự án
Bây giờ chúng ta hãy xem cách sử dụng nhập khẩu tuyệt đối để chỉ các chức năng có trong mỗi mô-đun
Để làm việc với functionmyfunc1, bạn cần nhập như sau
3.14159265358979351
Để làm việc với chức năng myfunc3, bạn sẽ cần nhập như sau
3.14159265358979352
Ưu điểm và nhược điểm của việc sử dụng nhập khẩu tuyệt đối
Dưới đây là những lợi thế của việc sử dụng nhập khẩu tuyệt đối
- Việc truy tìm lại các mô-đun để kiểm tra mã trở nên dễ dàng
- Dễ sử dụng và rất đơn giản
- Nếu dự án được chuyển sang một đường dẫn khác, thì quá trình nhập vẫn giữ nguyên
Nhược điểm của việc sử dụng nhập khẩu tuyệt đối
Đây là nhược điểm của việc sử dụng nhập khẩu tuyệt đối
Nhược điểm
- Đường dẫn nhập có thể rất dài trong trường hợp các mô-đun được lồng vào nhau và nếu tên của các mô-đun dài
Sử dụng nhập khẩu tương đối
Xem xét cấu trúc thư mục giống nhau được đề cập bên dưới, chúng ta sẽ xem cách nhập giống nhau bằng cách sử dụng nhập tương đối
Trong nhập tương đối, mô-đun được nhập có liên quan đến vị trí hiện tại là vị trí có câu lệnh nhập
cú pháp
Trong nhập khẩu tương đối, bạn cần thêm một khoảng thời gian [. ] trước tên mô-đun khi nhập bằng from
Sẽ có 2 tiết [. ] trước tên mô-đun nếu mô-đun ở trên một cấp so với vị trí hiện tại
Tham khảo hình cấu trúc thư mục nêu trên, chúng ta có các mô-đun sau với chức năng của chúng, chúng ta cần tham khảo