Các mô -đun có thể nhập vào theo chu kỳ, nhưng có một sự bắt bóng. Trong trường hợp đơn giản, nó sẽ hoạt động bằng cách di chuyển các câu lệnh 2 sang dưới cùng của tệp hoặc không sử dụng cú pháp 3. Show Đây là lý do tại sao nó hoạt động: Khi bạn nhập một mô -đun, Python lần đầu tiên kiểm tra 4. Nếu nó ở đó, nó chỉ nhập từ đó. Nếu nó không có ở đó, nó cố gắng nhập nó theo cách bình thường; Về cơ bản, nó tìm thấy tệp và chạy các thứ trong đó.Chạy một mô -đun điền vào nội dung của mô -đun. Ví dụ: giả sử chúng ta có mô -đun này, được đặt tên một cách sáng tạo 5:
Khi bắt đầu, mô -đun trống. Sau đó, Python thực thi:
Sau đó, mô -đun chỉ chứa 6. Sau đó, Python thực hiện điều này:
Python tạo ra 7. Bây giờ mô -đun chứa 6 và 7.Nói 6 chứa mã này:
Nói 5 được nhập khẩu đầu tiên. Mã này được thực thi:
6 chưa được nhập khẩu, vì vậy Python thực hiện nội dung của 6:
5 đã được nhập khẩu, nhưng chưa được thực hiện đầy đủ. Python không quan tâm. Python kéo mô -đun ra khỏi 4. Tại thời điểm này, 5 vẫn trống. Nó chưa xác định 7, thậm chí cũng không hoàn thành nhập 6. Python không thể tìm thấy 7 trong 5, vì vậy nó thất bại.Điều gì sẽ xảy ra nếu chúng tôi nhập 7 từ cuối 6 và 6 từ cuối 5? Python sẽ bắt đầu bằng cách thực thi mã này:
6 chưa tồn tại, nhưng nó không quan trọng cho đến khi 7 được gọi. Bây giờ 5 chỉ chứa 7. Sau đó nó thực hiện:
Nó chưa được nhập khẩu, vì vậy Python thực thi 6. Nó bắt đầu:
Nó xác định 0. Sau đó, nó thực hiện:
5 là trong 4, vì vậy nó sử dụng điều đó. 5 chứa 7, vì vậy nó thành công. Python kết thúc nhập khẩu 6. Điều đó kết thúc nhập khẩu 6 từ 5. Đó là điều cuối cùng trong 5, vì vậy việc nhập 5 hoàn thành, cũng thành công. Trong Python, một mô -đun là một đơn vị mã Python có thể được nhập (tải và sử dụng) bằng mã Python khác. Một mô -đun có thể chứa các định nghĩa (như các hàm và hằng số), cũng như các câu lệnh khởi tạo các định nghĩa đó. Khi mã mô -đun được viết, nó có thể được sử dụng lại bởi bất kỳ tập lệnh nào nhập mô -đun.module is a single unit of Python code that can be imported (loaded and used) by other Python code. A module can contain definitions (like functions and constants), as well as statements that initialize those definitions. Once the module code is written, it can be reused by any script that imports the module. Một cách phổ biến để tạo mô -đun Python là tạo một tệp với tên tệp kết thúc bằng 0 và viết mã mô -đun vào đó. Nếu chúng ta sử dụng một phần mở rộng tệp khác trong tên tệp hoặc không có tiện ích mở rộng nào, các câu lệnh 2 tiêu chuẩn được hiển thị bên dưới sẽ không hoạt động và chúng ta sẽ phải sử dụng 2 thay thế, đòi hỏi nhiều mã hơn (thêm thông tin bên dưới).Để minh họa việc sử dụng tiêu chuẩn 2, giả sử chúng tôi tạo một tệp có tên 4 với định nghĩa chức năng sau:Bây giờ mỗi khi chúng ta muốn viết "Xin chào, thế giới!" Đối với màn hình từ tập lệnh Python, chúng ta chỉ có thể nhập mô -đun này thay vì phải viết lại tin nhắn. Nó cũng cho phép chúng tôi thay đổi một dòng mã bên trong 4 thay vì trong nhiều tập lệnh khác nhau nếu chúng tôi quyết định thay đổi thông điệp mà chúng tôi muốn hiển thị trong tất cả các tập lệnh sử dụng chức năng này. 4 chứa hàm 7 mà chúng tôi đã thấy ở trên.Tên được sử dụng trong câu lệnh 2 chỉ đơn giản là tên tệp của mô -đun mà không có tiện ích mở rộng 0 ở cuối.Phiên bản Python 3.3 và cao hơn cho phép nhập các mô -đun dễ dàng trong các thư mục con của thư mục của tập lệnh hiện tại. Nếu bạn đang sử dụng phiên bản Python thấp hơn 3.3, bạn có thể làm theo các bước trong nhập tệp trong một thư mục khác. Trong một đường dẫn hệ thống tệp, chúng tôi sẽ tách các thành phần của đường dẫn bằng 0 (Linux, MacOS, v.v.) hoặc 1 (Windows). Tuy nhiên, trong câu lệnh Python 2, chúng tôi tách các thành phần đường dẫn bằng DOT ( 3).trong đó 4 là bất kỳ tên nào chúng tôi chọn. Chúng tôi cũng có thể nhập chức năng trực tiếp:Điều này hoạt động ngay cả khi có nhiều cấp độ của thư mục con. Ví dụ: nếu chúng ta có cấu trúc thư mục sau: Bây giờ chúng ta hãy nói rằng chúng ta chuyển 4 sang một thư mục bên ngoài cây thư mục hiện tại:Theo mặc định, Python tìm các tệp trong cùng một thư mục (bao gồm cả thư mục con) là tệp tập lệnh hiện tại, cũng như ở các vị trí tiêu chuẩn khác được xác định trong 6. Nếu bạn tò mò những vị trí này là gì, bạn có thể in biến 6 như thế này:Tuy nhiên, nếu tệp chúng tôi muốn nhập hoàn toàn ở một nơi khác, trước tiên chúng tôi sẽ phải nói với Python nơi để tìm bằng cách thêm các thư mục tìm kiếm vào 6. Trong ví dụ của chúng tôi, chúng tôi có thể viết trong 9:Lưu ý rằng đường dẫn được nối với 6 là một đường dẫn tuyệt đối. Nếu chúng tôi sử dụng đường dẫn tương đối, đường dẫn sẽ giải quyết khác nhau dựa trên thư mục mà người dùng đang chạy tập lệnh, không liên quan đến đường dẫn của ____ ____ 69.Để nối một thư mục liên quan đến tệp tập lệnh này, bạn có thể sử dụng 2 để lấy đường dẫn đầy đủ của tập lệnh hiện tại và xây dựng một đường dẫn đầy đủ đến nhập từ đó. Trong 9 chúng ta có thể viết:Phiên bản Python 3.4 trở lên cung cấp chức năng thông qua thư viện 2 tích hợp cho phép chúng tôi tải bất kỳ tệp nào ở bất cứ đâu dưới dạng mô-đun Python, ngay cả khi tên tệp của tệp không kết thúc trong 0 (nó có thể có phần mở rộng tệp khác hoặc không có phần mở rộng tệp ở tất cả).Lưu ý ở đây rằng tên tệp 6 không có phần mở rộng tệp. Trong trường hợp này, chúng tôi không thể sử dụng câu lệnh 2 đơn giản để nhập tệp đó. Thay vào đó, chúng ta có thể viết trong 9:Lưu ý rằng đường dẫn được truyền vào 9 là một đường dẫn tuyệt đối. Nếu chúng tôi sử dụng một đường dẫn tương đối như 0, đường dẫn sẽ giải quyết khác nhau dựa trên thư mục mà người dùng đang chạy tập lệnh, không liên quan đến đường dẫn của ____ 69.Nếu chúng tôi muốn tham chiếu một tệp liên quan đến đường dẫn của tệp tập lệnh hiện tại của chúng tôi, chúng tôi có thể sử dụng 2 để trước để lấy đường dẫn của tệp tập lệnh hiện tại của chúng tôi và sau đó xây dựng một đường dẫn đầy đủ từ đó:
2 tập lệnh Python có thể nhập khẩu nhau không?Bạn có thể có mã mà bạn muốn tự chạy và nhập từ các tập lệnh khác.Trong trường hợp đó, thường có giá trị để tái cấu trúc mã của bạn để bạn chia phần chung thành mô -đun thư viện.Mặc dù đó là một ý tưởng tốt để tách các tập lệnh và thư viện, tất cả các tệp Python có thể được thực thi và nhập.all Python files can be both executed and imported.
Chúng ta có thể nhập một tệp python sang một tệp python khác không?Có thể nhập bất kỳ chức năng nào từ bất kỳ tệp nào, với một dòng mã đơn giản cung cấp đường dẫn (tuyệt đối hoặc tương đối, được mã hóa cứng hoặc được lưu trữ trong một biến) cho tệp.Python, chỉ cần làm điều đó!, with a simple line of code providing the path (absolute or relative, hard-coded or stored in a variable) to the file. Python, just do it!
Các mô -đun có thể nhập lẫn nhau không?Các mô -đun có thể nhập các mô -đun khác.Đó là thông lệ nhưng không bắt buộc phải đặt tất cả các báo cáo nhập ở đầu mô -đun (hoặc tập lệnh, cho vấn đề đó).Các tên mô -đun đã nhập, nếu được đặt ở cấp cao nhất của một mô -đun (bên ngoài bất kỳ chức năng hoặc lớp nào), sẽ được thêm vào không gian tên toàn cầu của mô -đun.. It is customary but not required to place all import statements at the beginning of a module (or script, for that matter). The imported module names, if placed at the top level of a module (outside any functions or classes), are added to the module's global namespace. |