Chức năng nhập python từ tập lệnh khác
Sếp của bạn tại Học viện Finxter đã yêu cầu bạn tạo năm (5) lời chào đăng nhập tùy chỉnh cho người dùng của họ. Để giữ cho mã của bạn sạch sẽ, bạn đã quyết định đặt các hàm này vào một tệp Python mới, from greetings import greeting_am today = datetime.datetime.now() if (today.hour >= 1 and today.hour < 12): from greetings import greeting_am print(greeting_am('cdriver'))9 Show
💡 Lưu ý. Đối với bài viết này, chúng tôi sẽ làm việc với người dùng hư cấu của Học viện Finxter, cdriver Nội dung chào hỏi. tập tin py def greeting_am(user): return f"Good Morning {user}." def greeting_lunch(user): return f"Enjoy Lunch {user}." def greeting_break(): return f"You need a break." def greeting_aft(user): return f"Good Afternoon {user}." def greeting_pm(user): return f"Good Evening {user}." 💬 câu hỏi. Làm cách nào chúng ta viết mã Python để nhập tập lệnh Python vào tập lệnh Python khác? Chúng ta có thể hoàn thành nhiệm vụ này bằng một trong các tùy chọn sau
Sự chuẩn bịThêm đoạn mã sau vào đầu mỗi đoạn mã. Đoạn mã này sẽ cho phép mã trong bài viết này chạy không có lỗi import datetime Phương pháp 1. Nhập một hàm từ một tệp Python khácNếu người dùng Finxter đăng nhập trong phạm vi đã nêu (_______41), mã này giả định rằng trời đã sáng và thông báo import datetime0 sẽ hiển thị from greetings import greeting_am today = datetime.datetime.now() if (today.hour >= 1 and today.hour < 12): from greetings import greeting_am print(greeting_am('cdriver')) Mã này truy xuất ngày hiện tại bằng cách sử dụng import datetime1 và lưu nó vào import datetime2 Tiếp theo, câu lệnh import datetime3 truy xuất giờ hiện tại ( import datetime4). Nếu giá trị này nằm trong phạm vi đã nêu, thì một (1) hàm được gọi từ from greetings import greeting_am today = datetime.datetime.now() if (today.hour >= 1 and today.hour < 12): from greetings import greeting_am print(greeting_am('cdriver'))9. import datetime0 và thực hiện Kết quả được xuất ra thiết bị đầu cuối đầu ra Chào buổi sáng cdriverPhương pháp 2. Nhập hai hàm từ một tệp Python khácNếu người dùng Finxter đăng nhập trong phạm vi đã nêu import datetime7, mã này giả định rằng đó là giờ ăn trưa của người dùng và hiển thị thông báo import datetime8 và import datetime9 import datetime2 Mã này truy xuất ngày hiện tại bằng cách sử dụng import datetime1 và lưu nó vào import datetime2 Tiếp theo, câu lệnh import datetime3 truy xuất giờ hiện tại ( import datetime4). Nếu giá trị này nằm trong phạm vi đã nêu, hai (2) hàm được gọi từ from greetings import greeting_am today = datetime.datetime.now() if (today.hour >= 1 and today.hour < 12): from greetings import greeting_am print(greeting_am('cdriver'))9. import datetime8 và from greetings import greeting_am today = datetime.datetime.now() if (today.hour >= 1 and today.hour < 12): from greetings import greeting_am print(greeting_am('cdriver'))6, và thực hiện Kết quả được xuất ra thiết bị đầu cuối đầu ra Thưởng thức bữa trưa cdriver.Bạn cần nghỉ ngơi. 💡 Lưu ý. Nếu mã của bạn chỉ yêu cầu một vài hàm từ tệp Python bên ngoài, thì tốt nhất bạn chỉ nên gọi những hàm bạn cần Phương pháp 3. Nhập tất cả các chức năng từ một tệp Python khácNếu người dùng Finxter đăng nhập trong phạm vi đã nêu from greetings import greeting_am today = datetime.datetime.now() if (today.hour >= 1 and today.hour < 12): from greetings import greeting_am print(greeting_am('cdriver'))7, mã này giả định rằng đó là buổi chiều và hiển thị thông báo from greetings import greeting_am today = datetime.datetime.now() if (today.hour >= 1 and today.hour < 12): from greetings import greeting_am print(greeting_am('cdriver'))8 import datetime1 Mã này truy xuất ngày hiện tại bằng cách sử dụng import datetime1 và lưu nó vào import datetime2 Tiếp theo, câu lệnh import datetime3 truy xuất giờ hiện tại ( import datetime4). Nếu giá trị này nằm trong phạm vi đã nêu, toàn bộ nội dung của from greetings import greeting_am today = datetime.datetime.now() if (today.hour >= 1 and today.hour < 12): from greetings import greeting_am print(greeting_am('cdriver'))9 được gọi trong ( import datetime24) và from greetings import greeting_am today = datetime.datetime.now() if (today.hour >= 1 and today.hour < 12): from greetings import greeting_am print(greeting_am('cdriver'))8 thực thi Kết quả được xuất ra thiết bị đầu cuối đầu ra chào buổi chiều cdriverPhương pháp 4. Sử dụng read() để nhập một tệp Python khácNếu người dùng Finxter đăng nhập trong phạm vi đã nêu import datetime26, mã này giả định rằng đó là buổi tối và hiển thị thông báo import datetime27 from greetings import greeting_am today = datetime.datetime.now() if (today.hour >= 1 and today.hour < 12): from greetings import greeting_am print(greeting_am('cdriver'))0 Mã này truy xuất ngày hiện tại bằng cách sử dụng import datetime1 và lưu nó vào import datetime2 Sau đó, câu lệnh if truy xuất giờ hiện tại (______ 14). Nếu giá trị này nằm trong phạm vi đã nêu, thì toàn bộ nội dung của from greetings import greeting_am today = datetime.datetime.now() if (today.hour >= 1 and today.hour < 12): from greetings import greeting_am print(greeting_am('cdriver'))9 được đọc trong ( import datetime12), cho phép truy cập vào tất cả nội dung của tệp này. Đối với ví dụ này, import datetime27 thực thi Cuối cùng, chúng tôi thực thi tệp bằng cách sử dụng (nguy hiểm. ) Hàm import datetime14 🌍 Tìm hiểu thêm. Python exec() — Hướng dẫn dành cho hacker về một chức năng nguy hiểm Hàm import datetime15 của Python thực thi mã Python mà bạn truyền dưới dạng một chuỗi hoặc đối số đối tượng thực thi Điều này được gọi là thực thi động bởi vì, trái ngược với mã Python tĩnh thông thường, bạn có thể tạo mã và thực thi nó trong thời gian chạy Bằng cách này, bạn có thể chạy mã Python được tạo theo chương trình Python exec() — Hướng dẫn dành cho hacker về một chức năng nguy hiểm Xem video này trên YouTube Kết quả được xuất ra thiết bị đầu cuối đầu ra Chào buổi tối tài xếTập lệnh thưởngLàm việc với tệp from greetings import greeting_am today = datetime.datetime.now() if (today.hour >= 1 and today.hour < 12): from greetings import greeting_am print(greeting_am('cdriver'))9 và các ví dụ ở trên, mã này hợp lý hóa nó thành một tệp ngắn gọn from greetings import greeting_am today = datetime.datetime.now() if (today.hour >= 1 and today.hour < 12): from greetings import greeting_am print(greeting_am('cdriver'))8 ⚡Thử thách Finxter. Sửa đổi lời chào. tập tin py Tóm lượcNăm (5) phương pháp nhập tập lệnh Python vào một tệp Python khác sẽ cung cấp cho bạn đủ thông tin để chọn phương pháp tốt nhất cho yêu cầu viết mã của bạn Các chức năng có thể được nhập bằng Python không?Bạn có thể xác định các chức năng được sử dụng nhiều nhất trong một mô-đun và nhập nó , thay vì sao chép các định nghĩa của chúng vào các chương trình khác nhau. Một mô-đun có thể được nhập bởi một chương trình khác để sử dụng chức năng của nó. Đây là cách bạn cũng có thể sử dụng thư viện chuẩn Python.
Bạn có thể gọi một hàm từ một tệp khác không?Có thể gọi các hàm do người dùng định nghĩa từ các tệp khác . Một chức năng có thể được gọi và chạy trong một tệp khác với tệp nơi chức năng được xác định.
Các tập lệnh Python có thể nhập lẫn 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 đáng để cấu trúc lại mã của bạn để bạn chia phần chung thành một mô-đun thư viện. Mặc dù bạn nên tách biệt các tập lệnh và thư viện, nhưng tất cả các tệp Python đều có thể được thực thi và nhập . |