Nếu __name__ == __main__ trong python
Nếu bạn chưa quen với Python, bạn có thể nhận thấy rằng có thể chạy tập lệnh Python có hoặc không có phương thức chính. Và ký hiệu được sử dụng trong Python để xác định một (i. e. Show Trong hướng dẫn hôm nay, chúng ta sẽ khám phá và thảo luận về mục đích của một phương thức chính và điều gì sẽ xảy ra khi bạn định nghĩa một phương thức này trong các ứng dụng Python của mình Mục đích của __name__ là gì?Trước khi thực hiện một chương trình, trình thông dịch Python gán tên của mô-đun python thành một biến đặc biệt có tên là Ví dụ: nếu bạn gọi mô-đun của mình dưới dạng tập lệnh Có thể bạn quan tâmpython my_module.py sau đó Trình thông dịch Python sẽ tự động gán chuỗi_______1_______1 cho biến đặc biệt # Assume that this is another_module.py thì chuỗi # Assume that this is another_module.py 3 sẽ được gán cho __name__ Phương pháp chính hoạt động như thế nào?Bây giờ, giả sử rằng chúng ta có mô-đun sau, chứa các dòng mã sau # first_module.py Vì vậy, trong mô-đun ở trên, chúng ta có một câu lệnh in nằm ngoài phương thức chính và một câu lệnh in nữa nằm bên trong. Mã trong phương thức chính, sẽ chỉ được thực thi nếu mô-đun được gọi dưới dạng tập lệnh từ (e. g. ) dòng lệnh, như hình bên dưới python first_module.py Bây giờ, giả sử rằng thay vì gọi mô-đun # Assume that this is another_module.py 5 dưới dạng tập lệnh, chúng tôi muốn nhập mô-đun đó vào một mô-đun khác# second_module.py Và cuối cùng, chúng tôi gọi # Assume that this is another_module.py 6 như một kịch bảnpython second_module.py Lưu ý rằng đầu ra đầu tiên đến từ mô-đun # Assume that this is another_module.py 5 và cụ thể là từ câu lệnh in nằm ngoài phương thức chính. Vì chúng tôi chưa gọi # Assume that this is another_module.py 5 dưới dạng tập lệnh mà thay vào đó chúng tôi đã nhập nó vào # Assume that this is another_module.py 6 nên phương thức chính trong first_module sẽ bị bỏ qua đơn giản vì if __name__ == ‘__main__' ước tính thành # first_module.py 1. Nhớ lại rằng từ lời gọi trên, biến __name__ cho # Assume that this is another_module.py 6 đã được gán chuỗi # Assume that this is another_module.py 1 trong khi biến __name__ của # Assume that this is another_module.py 5 đã được gán tên của mô-đun, i. e. # first_module.py 7Mặc dù mọi thứ trong # my_module.py Ghi chú. Tôi thường không khuyến khích bạn có nhiều chức năng chính trong một ứng dụng Python. Tôi đã sử dụng hai phương pháp chính khác nhau chỉ vì ví dụ Suy nghĩ cuối cùngTrong bài viết này, tôi đã mô tả cách phương thức chính được thực thi trong Python và trong những điều kiện nào. Khi một mô-đun được gọi dưới dạng một chuỗi, thì trình thông dịch Python sẽ gán chuỗi # Assume that this is another_module.py 1 cho một biến đặc biệt có tên là __name__ và mã được xác định theo điều kiện if __name__ == ‘__main__' sau đó sẽ được thực thi. Mặt khác, khi một mô-đun được nhập trong một mô-đun khác, thì trình thông dịch Python sẽ gán chuỗi có tên của mô-đun đó cho biến đặc biệt __name__ . Điều này có nghĩa là trong những trường hợp như vậy, if __name__ == ‘__main__' sẽ ước tính thành # first_module.py 1, điều đó có nghĩa là chỉ mã bên ngoài điều kiện này mới được thực thi sau khi nhậpTrở thành thành viên và đọc mọi câu chuyện trên Medium. Phí thành viên của bạn hỗ trợ trực tiếp cho tôi và các nhà văn khác mà bạn đọc. Bạn cũng sẽ có toàn quyền truy cập vào mọi câu chuyện trên Phương tiện __ tên __ == '__ chính __' trong Python là gì?Trong Python, tên đặc biệt __main__ được sử dụng cho hai cấu trúc quan trọng. tên môi trường cấp cao nhất của chương trình , có thể kiểm tra bằng biểu thức __name__ == '__main__'; . __chính__. py trong các gói Python.
Việc sử dụng __ chính __ trong Python là gì?Điều gì sẽ xảy ra nếu __name__ == “__main__”. làm? . Nếu trình thông dịch python đang chạy mô-đun đó (tệp nguồn) làm chương trình chính, nó sẽ đặt biến __name__ đặc biệt có giá trị “__main__” |