Python xử lý các lần nhập trùng lặp như thế nào?
Mô-đun có thể chứa các hàm, như đã được mô tả, nhưng cũng có các biến thuộc mọi loại (mảng, từ điển, đối tượng, v.v.) Show
Thí dụLưu mã này vào tệp người1 = { Thí dụNhập mô-đun có tên mymodule và truy cập từ điển person1 nhập mymodule a = mô-đun của tôi. người1["tuổi"] Học cách lọc dữ liệu bằng Python như một nhà phân tích dữ liệuThử tham gia các buổi đào tạo thực hành với hướng dẫn từng bước từ chuyên gia. Hãy thử dự án có hướng dẫn được thực hiện với sự cộng tác của Coursera ngay bây giờ Get startedĐặt tên cho một mô-đunBạn có thể đặt tên cho tệp mô-đun tùy thích, nhưng nó phải có phần mở rộng tệp là Đổi tên một ModuleBạn có thể tạo bí danh khi nhập mô-đun bằng cách sử dụng từ khóa Thí dụTạo bí danh cho nhập mymodule dưới dạng mx một = mx. người1["tuổi"] Mô-đun tích hợpCó một số mô-đun tích hợp sẵn trong Python mà bạn có thể nhập bất cứ khi nào bạn muốn Thí dụNhập và sử dụng mô-đun nền tảng nhập khẩu x = nền tảng. hệ thống() Sử dụng hàm dir()Có một hàm tích hợp để liệt kê tất cả các tên hàm (hoặc tên biến) trong một mô-đun. Hàm Thí dụLiệt kê tất cả các tên được xác định thuộc về mô-đun nền tảng nền tảng nhập khẩu x = dir(nền tảng) Ghi chú. Hàm dir() có thể được sử dụng trên tất cả các mô-đun, kể cả những mô-đun bạn tự tạo Nhập Từ Mô-đunBạn có thể chọn chỉ nhập các bộ phận từ một mô-đun bằng cách sử dụng từ khóa Thí dụMô-đun có tên lời chào chắc chắn (tên) người1 = { Thí dụChỉ nhập từ điển person1 từ mô-đun từ mymodule nhập person1 in (person1["tuổi"]) Ghi chú. Khi nhập sử dụng từ khóa Trong Python, bạn có thể nhập thư viện chuẩn, các gói được cài đặt bằng pip, các gói của riêng bạn, v.v. bằng câu lệnh 4
Bài viết này mô tả các nội dung sau
Xem bài viết sau để biết đường dẫn tìm kiếm module
Liên kết được tài trợ Các mô-đun, gói và thư viện trong Pythonmô-đunTrong Python, một mô-đun là một tệp xác định các hàm, lớp, v.v.
góiThư mục chứa các mô-đun và 1 được gọi là "gói thông thường". 1 có thể là một tệp trốngTrong Trăn 3. 3 trở lên, các thư mục không chứa 1 có thể được nhập dưới dạng gói. Các gói như vậy được gọi là "gói không gian tên"thư việnMặc dù không được xác định nghiêm ngặt, các gói và mô-đun đôi khi được gọi là thư viện Cách sử dụng cơ bản của # NG import os, sys # OK import os import sys 4Ví dụ: nhập mô-đun toán học
Với 5, một mô-đun được nhập dưới dạng một đối tượng thuộc loại 6. Bạn có thể kiểm tra tệp nào được nhập với ____6_______7
nguồn. Bạn có thể sử dụng các hàm và biến được xác định trong mô-đun với 8, 9,
nguồn. Nếu bạn muốn sử dụng trực tiếp các hàm hoặc biến của một mô-đun, hãy sử dụng 0 được mô tả bên dưới. Lưu ý rằng 1 gây ra lỗiCách viết # NG import os, sys # OK import os import sys 4 theo khuyến nghị trong PEP8PEP8, hướng dẫn phong cách Python, mô tả cách viết câu lệnh 4Lưu ý đây chỉ là style guide nên sẽ không có lỗi dù bạn không viết theo cách này Nhập nhiều mô-đunBạn có thể viết nhiều mô-đun được phân tách bằng dấu phẩy sau câu lệnh 4, nhưng điều này không được khuyến nghị trong PEP8. Nhập khẩu thường phải trên các dòng riêng biệt
nguồn. Nếu bạn sử dụng 0 để nhập hàm, biến, lớp, v.v. , như được giải thích tiếp theo, bạn có thể tách chúng bằng dấu phẩy
nguồn. Thứ tự các mô-đunCác mô-đun nên được nhóm và nhập theo thứ tự sau, tùy thuộc vào loại của chúng. Tách mỗi nhóm bằng một dòng trống
Mặc dù nó không được viết bằng PEP8, nhưng mỗi mô-đun trong một nhóm thường được sắp xếp theo thứ tự bảng chữ cái
nguồn. Nhập hàm, biến, lớp, v.v. # NG import os, sys # OK import os import sys 7Bạn có thể chỉ định và nhập các hàm, biến, lớp, v.v. được xác định trong mô-đun với 7Chỉ nhập một mặt hàngBạn có thể nhập các chức năng, v.v. với 8Các mặt hàng nhập khẩu có thể được sử dụng trực tiếp với 9. Bản thân mô-đun không được nhập. Lỗi 0 xuất hiện khi bạn cố gắng sử dụng các mục khác
nguồn. Nhập nhiều mặt hàng cùng lúcBạn có thể nhập nhiều hàm, biến, v.v. từ cùng một mô-đun cùng một lúc bằng cách viết chúng được phân tách bằng dấu phẩy
nguồn. Nếu một dòng quá dài, bạn có thể sử dụng dấu ngoặc đơn 1 để ngắt dòng
nguồn. Nhập tất cả các mặt hàng có from math import pi print(pi) # 3.141592653589793 # print(math.radians(180)) # NameError: name 'math' is not defined 2 (không nên dùng)Với 2, tất cả các hàm, biến, v.v. được xác định trong mô-đun được nhập
nguồn. Nếu 4 được xác định trong một mô-đun, chỉ những tên trong 4 được nhậpLưu ý rằng việc nhập bằng cách sử dụng 2 không được khuyến nghị trong PEP8 vì không rõ tên nào tồn tại trong không gian tên nàoLiên kết được tài trợ Nhập bằng bí danh. # NG import os, sys # OK import os import sys 8Bạn có thể sử dụng 8 để nhập bằng bí danh. Nếu một bí danh được đưa ra, tên gốc không thể được sử dụngVí dụ về đặt bí danh cho một mô-đun
nguồn. Ví dụ đặt bí danh cho biến 0nguồn. Một số thư viện, chẳng hạn như NumPy và pandas, thường được nhập với tên viết tắt 1Nhập khẩu từ các góiKhi bạn nhập các mô-đun từ một gói, bạn cần cẩn thận về cách nhập chúng, tùy thuộc vào cấu trúc của chúng và 1Về cơ bản, tài liệu cho bạn biết cách nhập tệp, vì vậy chỉ cần làm theo hướng dẫn. Dưới đây là các ví dụ để giải thích rằng có nhiều mẫu khác nhau urllibVí dụ: nhập các mô-đun và lớp từ thư viện chuẩn, urllib
Các tệp (mô-đun) được lưu trữ trong thư mục 0 như sau. 1 trống 2Nếu bạn viết 2, bạn không thể sử dụng các mô-đun bên dưới nó. Ví dụ: 3 gây ra lỗi 0 3nguồn. Bạn cần nhập các mô-đun có 5 4nguồn. Bạn cũng có thể viết 6 5nguồn. Cũng có thể chỉ định một lớp được định nghĩa trong mô-đun và nhập nó 6nguồn. Lưu ý rằng nếu mã khởi tạo không được viết bằng 1 như thế này, bạn cần nhập mô-đun bên dưới nóNếu bạn đang sử dụng IPython/Jupyter Notebook, bạn có thể sử dụng 8 chỉ bằng cách nhập 0. Hành vi này là do quá trình khởi động IPython gây ra
bộ sưu tậpNhư một ví dụ khác, giới thiệu các bộ sưu tập
Thư mục 0 bao gồm các phần sau 7Trong các bộ sưu tập, các lớp như 1 và 2 được định nghĩa trong 1 thay vì lưu trữ các tệp mô-đun như urllib
Trong trường hợp này, khi bạn nhập một gói, bạn có thể sử dụng lớp là 4 8nguồn. Bạn không thể nhập các lớp có 4 9nguồn. Bạn có thể nhập các lớp học với 0 0nguồn. NumPyVí dụ về thư viện bên thứ ba, NumPy Trong NumPy, mỗi gói phụ được nhập vào 1 trong thư mục 8
Bạn không cần nhập từng mô-đun. Chỉ cần viết 9 để sử dụng các chức năng khác nhauscikit-họcTrường hợp của scikit-learning thì khác scikit-learning không nhập các gói con trong 1 trong thư mục 1
Bạn cần nhập các gói con một cách rõ ràng, như sau 1nguồn. Các lỗi thường gặp liên quan đến nhập khẩu# NG import os, sys # OK import os import sys 9Lỗi không tìm thấy mô-đun 2Tên của mô-đun hoặc đường dẫn tìm kiếm mô-đun có thể sai
Như thể hiện trong ví dụ về các bộ sưu tập ở trên, 9 cũng được nâng lên khi bạn cố gắng nhập một lớp thay vì một mô-đun. Sử dụng 0 để nhập một hàm hoặc một lớpfrom math import pi, radians 0Lỗi mô-đun đã nhập không có thuộc tính được chỉ định 3Có thể là không nhập đúng tệp Ví dụ: khi bạn viết 5, ưu tiên hàng đầu để tìm kiếm mô-đun là cùng thư mục với tệp tập lệnh được thực thi, vì vậy nếu có một tệp có tên 7 trong thư mục, thì tệp đó sẽ được nhập
Sử dụng 8 để kiểm tra xem tệp có được nhập từ vị trí dự kiến hay không và nếu không, hãy đổi tên hoặc di chuyển tệp
Điều gì xảy ra nếu tôi nhập cùng một mô-đun hai lần Python?Điều gì xảy ra nếu một mô-đun được nhập hai lần? . there is no performance loss by importing it again.
Điều gì xảy ra nếu tôi nhập cùng một mô-đun hai lần?Nếu nhiều mô-đun nhập cùng một mô-đun thì angular chỉ đánh giá mô-đun đó một lần (Khi gặp mô-đun lần đầu tiên). Nó tuân theo điều kiện này ngay cả khi mô-đun xuất hiện ở bất kỳ cấp độ nào trong hệ thống phân cấp NgModules đã nhập. 1.
Thứ tự nhập liệu có quan trọng với Python không?Lệnh nhập không thành vấn đề . Nếu một mô-đun phụ thuộc vào các mô-đun khác, thì nó cần phải tự nhập các mô-đun đó. Python xử lý từng. py dưới dạng một đơn vị độc lập theo như nội dung hiển thị trong tệp đó.
Một mô-đun được tải bao nhiêu lần khi được nhập nhiều lần?Mã mô-đun chỉ được đánh giá lần đầu tiên khi được nhập. Nếu cùng một mô-đun được nhập vào nhiều mô-đun khác, mã của nó chỉ được thực thi một lần, trong lần nhập đầu tiên. Sau đó, xuất khẩu của nó được trao cho tất cả các nhà nhập khẩu tiếp theo. Việc đánh giá một lần có những hậu quả quan trọng mà chúng ta nên biết |