Chúng ta hãy tìm hiểu về các cách khác nhau mà chúng ta có thể thực sự nhập các mô-đun này.
Cho đến nay, chúng ta chỉ mới học về nhập khẩu, nhưng đôi khi mọi thứ có thể trở nên khá bận rộn.
Ví dụ, chúng ta thực sự có thể có một gói khác bên trong một gói khác.
Ví dụ: nếu tôi tạo một thư mục mới ở đây và nói Gói Python mới, chúng tôi sẽ gọi đây là nhấp chuột mua sắm nhiều
hơn.
Được chứ.
Bạn thấy điều đó?
Tôi đã khởi tạo một gói khác bên trong một gói có tệp riêng trong đó.
Và chúng ta hãy di chuyển điều này ngay bây giờ để thực hiện di chuyển bộ tái cấu trúc và chúng ta sẽ di chuyển nó vào bên trong thư mục mua sắm khác.
Vì vậy, tôi sẽ nói thêm.
Mua sắm.
Nếu tôi nhấp chuột, bạn sẽ thấy rằng tôi đã chuyển mô-đun này sang đây.
Vì vậy, tôi có một gói bên trong của một gói.
Và cách chúng tôi truy cập vào điều này là nói đơn giản là mua sắm nhiều hơn.
Giỏ hàng chấm mua sắm.
Và chúng ta hãy sao chép điều đó và làm tương tự ở đây.
Và bây giờ khi tôi nhấp vào Chạy.
Bạn sẽ thấy rằng nó vẫn hoạt động.
Nhưng điều này đang trở nên hơi quá điên rồ.
Bạn có thể tưởng tượng khi chúng ta ngày càng có nhiều gói mà chúng ta liên tục phải thực hiện dấu chấm này, dấu chấm
này, và điều này ngày càng ít.
Quá dài và xấu xí.
Vì vậy, làm thế nào chúng ta có thể tốt hơn điều này?
Chà, một cách để làm điều này theo cách sạch sẽ hơn là làm điều gì đó như thế này thay vì nói nhập khẩu.
Chúng tôi nói từ điều này.
Một phần, tôi muốn nhập chức năng.
Vì vậy, ở đây tôi đang nói, hey, từ tên gói, tên gói, mô-đun, hãy nhập bất kỳ chức năng nào tôi muốn.
Trong trường hợp của chúng tôi, chúng tôi muốn nhập hàm mua.
Vì vậy, bạn thấy ở đây tôi chỉ có thể làm điều đó và trong mã của tôi.
Tôi chỉ có thể chạy như thể nó là một phần của tệp chính này.
Nếu tôi chạy cái này.
Bạn sẽ thấy rằng nó vẫn hoạt động.
Đáng kinh ngạc.
Vì vậy, đó chắc chắn là sạch hơn.
Và chúng tôi cũng có thể làm điều này với tiện ích.
Tôi có thể nói từ nhập tiện ích và thực sự nhập hai tệp hoặc hai chức năng.
Vì vậy, đó là nhân lên.
Và nếu chúng ta muốn một hàm khác, chúng ta có thể thêm dấu phẩy và nói phép chia.
Vì vậy, bây giờ chúng ta có thể in Apple.
Hoặc của Apple cũng như phân chia.
Hãy nói năm nhân hai.
Và chúng ta cũng có thể nhân lên.
Ồ, và hãy chắc chắn rằng đó là một dấu phẩy ở đây vì nó là một hàm như thế này, vì vậy nếu tôi chạy nó, bạn sẽ
thấy điều đó.
Chúng ta bắt đầu.
Điều này cũng hoạt động.
Vì vậy, đây là một cách thực sự tốt để làm sạch mã của bạn.
Bạn cũng có thể làm điều gì đó như thế này khi bạn nói từ tên gói, tên gói.
Và sau đó nhập toàn bộ mô-đun.
Vì vậy, giả sử tôi muốn nhập mô-đun giỏ hàng.
Tôi có thể nói nhập khẩu.
Vì vậy, gói chấm gói.
Hoặc bạn có thể chỉ cần thực hiện một gói và nhập giỏ hàng mô-đun thực tế.
Vì vậy, bây giờ tôi sẽ truy cập nó giống như dấu chấm giỏ hàng này.
Và điều này cũng sẽ hoạt động.
Bây giờ, lý do bạn có thể muốn làm điều này thay vì những gì chúng tôi đã có trước đây là đôi khi bạn có thể
bị va chạm tên.
Tôi se cho bạn xem.
Giả sử tôi đã có một bản in và sau đó ở đây chúng ta sử dụng hàm max, cho chúng ta đây là một hàm tích hợp sẵn.
Chúng tôi cung cấp cho nó một trình lặp và nó tìm giá trị tối đa cho chúng tôi để nếu tôi chạy điều này, bạn sẽ thấy rằng giá trị tối
đa trong danh sách này là ba.
Vâng, hãy tưởng tượng trong hàm tiện ích của chúng ta, chúng ta có giá trị giả sử thay vì chia hoặc chúng ta thêm giá trị
tối đa.
Trả lại và rất tiếc.
Chà, nếu tôi quay lại số pi chính của mình.
Và.
Lấy Max làm chức năng của tôi và tôi nhấp vào Chạy.
Vâng, bạn thấy đấy, tôi nhận được một không khí.
Tôi nhận được Max nhận đối số vị trí bằng 0 nhưng đã được đưa ra nhưng một đối số đã được đưa ra bởi vì bây giờ Max không có nghĩa là chúng tôi
nghĩ chúng tôi muốn nói gì.
Ít nhất trong tệp này, chúng tôi đã nhập Max và tốt.
Max hiện là một hàm hoàn toàn khác, vì vậy chúng tôi thực sự có thể ghi đè các hàm hiện có.
Vì vậy, bằng cách sử dụng một cái gì đó như giỏ hàng này, chúng tôi đảm bảo rằng chúng tôi chỉ có một trường hợp mà chúng tôi có thể
đặt tên là Va chạm.
Nhưng tất cả các thuộc tính hoặc tất cả các phương pháp mà giỏ hàng có được kết nối với giỏ hàng.
Vì vậy, thay vì có nhiều chức năng có thể bị ghi đè, tôi chỉ có một không gian tên.
Và nhân tiện, đây cũng là một trong những lý do mà tôi không khuyên bạn nên làm điều gì đó như thế này.
Bạn thực sự có thể nhập dấu sao.
Và điều này nói lên, này, từ mô-đun tiện ích, hãy nhập mọi thứ.
Và khi bạn làm điều đó.
Bạn sẽ thấy rằng một lần nữa chúng tôi gặp lỗi vì nó cũng nhập giá trị tối đa.
Và bởi vì chúng tôi thậm chí không biết những gì đang được nhập ngay bây giờ, chúng tôi không thể nhìn thấy nó.
Chúng ta phải vào tập tin để xem nó.
Khi gặp lỗi như thế này, chúng ta sẽ giống như, Chuyện gì đang xảy ra?
Tôi nghĩ, Max đang làm việc và đó là vì dòng này.
Vì vậy, luôn luôn tốt để nói rõ ràng và nói chính xác những gì bạn muốn nhập.
Nhưng chúng ta hãy loại bỏ Max ngay bây giờ.
Nhưng như bạn thấy, các mô-đun có thể quan trọng theo những cách khác nhau.
Khuyến nghị của tôi là luôn rõ ràng và nói chính xác những gì bạn muốn
nhập và định dạng thường tuân theo bằng cách sử dụng câu lệnh nhập theo sau là mô-đun gói hoặc nhập mô-đun.
Hoặc bạn có thể thực hiện câu lệnh from để cung cấp cho nó gói, con, gói và mô-đun nếu bạn muốn, hoặc bạn có
thể thực hiện mô-đun và sau đó nói nhập và chức năng cụ thể hoặc chính mô-đun thực tế.
Nhiều cách để làm điều đó tùy thuộc vào nhu cầu của bạn.
Điểm mấu chốt ở đây là các mô-đun và gói giúp chúng tôi có các thực hành kỹ thuật tốt và xây dựng các dự án
lớn theo cách có tổ chức, nhưng vẫn có tất cả các tệp này.
Nói chuyện với nhau.
Được rồi.
Đó là rất nhiều.
Hãy cùng tìm hiểu thêm trong video tiếp theo.