Hướng dẫn what does if main do in python? - điều gì xảy ra nếu main làm trong python?
Bạn có thể gặp phải thành ngữ Python từ ____22 khi đọc mã người khác. Không có gì ngạc nhiên khi nó lan rộng! Bạn thậm chí có thể đã sử dụng 2 trong các tập lệnh của riêng bạn. Nhưng bạn đã sử dụng nó một cách chính xác? Show
Có thể bạn đã lập trình bằng ngôn ngữ gia đình C như Java trước đây và bạn tự hỏi liệu cấu trúc này có phải là phụ kiện vụng về để sử dụng chức năng 4 làm điểm vào hay không.Về mặt cú pháp, thành ngữ Python từ 2 chỉ là một khối có điều kiện bình thường:
Khối được thụt vào bắt đầu trong dòng 2 chứa tất cả các mã mà Python sẽ thực thi khi câu lệnh có điều kiện trong dòng 1 đánh giá là 6. Trong ví dụ mã ở trên, logic mã cụ thể mà bạn đã đặt trong khối có điều kiện được biểu thị bằng dấu chấm lửng của trình giữ chỗ ( 7).Vì vậy, nếu không có gì đặc biệt về thành ngữ ____22, thì tại sao nó lại trông khó hiểu, và tại sao nó tiếp tục gây ra cuộc thảo luận trong cộng đồng Python? Nếu thành ngữ vẫn có vẻ hơi khó hiểu và bạn không hoàn toàn chắc chắn nó làm gì, tại sao bạn có thể muốn nó và khi nào nên sử dụng nó, thì bạn đã đến đúng nơi! Trong hướng dẫn này, bạn sẽ tìm hiểu tất cả về thành ngữ của Python, ____22, bắt đầu với những gì nó thực sự làm trong Python và kết thúc với một gợi ý cho một cách nhanh hơn để đề cập đến nó.what it does, why you might want it, and when to use it, then you’ve come to the right place! In this tutorial, you’ll learn all about Python’s 2 idiom—starting with what it really does in Python, and ending with a suggestion for a quicker way to refer to it.Tóm lại: nó cho phép bạn thực thi mã khi tệp chạy dưới dạng tập lệnh, nhưng không phải khi nó được nhập dưới dạng mô -đunĐối với hầu hết các mục đích thực tế, bạn có thể nghĩ về khối có điều kiện mà bạn mở bằng 2 như một cách để lưu trữ mã chỉ nên chạy khi tệp của bạn được thực thi dưới dạng tập lệnh.Bạn sẽ thấy điều đó có nghĩa là gì trong một khoảnh khắc. Hiện tại, giả sử bạn có tệp sau:
Trong ví dụ này, bạn xác định một hàm, 1, bắt chước một tiếng vang trong thế giới thực bằng cách in dần ngày càng ít hơn các chữ cái cuối cùng của văn bản đầu vào.Dưới đây, trong các dòng 10 đến 12, bạn sử dụng thành ngữ 2. Mã này bắt đầu với câu lệnh có điều kiện 2 trong dòng 10. Trong các dòng thụt, 11 và 12, sau đó bạn thu thập đầu vào của người dùng và gọi 1 với đầu vào đó. Hai dòng này sẽ thực thi khi bạn chạy 5 dưới dạng tập lệnh từ dòng lệnh của bạn:
Khi bạn chạy tệp dưới dạng tập lệnh bằng cách chuyển đối tượng tệp cho trình thông dịch Python của bạn, biểu thức 6 trả về 6. Khối mã trong 8 sau đó chạy, do đó, Python thu thập đầu vào của người dùng và gọi 1.Hãy tự mình thử nó! Bạn có thể tải xuống tất cả các tệp mã mà bạn sẽ sử dụng trong hướng dẫn này từ liên kết bên dưới: Đồng thời, nếu bạn nhập 1 trong một mô -đun khác hoặc phiên giao diện điều khiển, thì mã lồng nhau sẽ giành được chạy:>>>
Trong trường hợp này, bạn muốn sử dụng 1 trong bối cảnh của một phiên bản tập lệnh hoặc phiên thông dịch khác, vì vậy bạn đã giành được sự cần thiết để thu thập đầu vào của người dùng. Chạy 2 sẽ gây rối với mã của bạn bằng cách tạo ra một tác dụng phụ khi nhập 3.Khi bạn làm tổ mã cụ thể cho việc sử dụng tập lệnh của tập tin của bạn theo thành ngữ 2, thì bạn tránh chạy mã mà không liên quan đến các mô -đun nhập khẩu.Mã làm tổ theo 2 cho phép bạn phục vụ các trường hợp sử dụng khác nhau:
Bằng cách triển khai thành ngữ 2 trong mã của bạn, bạn đã thiết lập một điểm nhập bổ sung cho phép bạn sử dụng 1 ngay từ dòng lệnh.Có bạn đi! Bây giờ bạn đã đề cập đến thông tin quan trọng nhất về chủ đề này. Tuy nhiên, có nhiều hơn nữa để tìm hiểu, và có một số sự tinh tế có thể giúp bạn xây dựng sự hiểu biết sâu sắc hơn về mã này và Python nói chung. Đọc để tìm hiểu thêm về thành ngữ tên chính, vì hướng dẫn này sẽ nói ngắn gọn về nó. Làm thế nào để thành ngữ tên chính hoạt động?Tại cốt lõi của nó, thành ngữ là một câu lệnh có điều kiện kiểm tra xem giá trị của biến 2 có bằng với chuỗi 3 hay không:
Nhưng khi nào 2 bằng chuỗi 3? Trong phần trước, bạn đã biết rằng đây là trường hợp khi bạn chạy tệp Python của mình dưới dạng tập lệnh từ dòng lệnh. Trong khi điều đó bao gồm hầu hết các trường hợp sử dụng thực tế, có lẽ bạn muốn đi sâu hơn.Python đặt toàn cầu 2 của một mô-đun bằng 3 nếu trình thông dịch Python chạy mã của bạn trong môi trường mã cấp cao nhất:top-level code environment:
Để hiểu rõ hơn điều đó có nghĩa là gì, bạn sẽ thiết lập một ví dụ nhỏ thực tế. Tạo tệp Python, gọi nó là 2 và thêm một dòng mã:
Tệp mới của bạn chỉ chứa một dòng mã duy nhất in giá trị và loại của toàn cầu 2 trên bảng điều khiển.Quay đầu thiết bị đầu cuối của bạn và chạy tệp Python dưới dạng tập lệnh:
Đầu ra cho bạn thấy rằng giá trị của 2 là chuỗi Python 3 nếu bạn chạy tệp của mình dưới dạng tập lệnh.Bây giờ bạn đã biết giá trị của 2 khi mã của bạn được thực thi trong môi trường mã cấp cao nhất.Nhưng một tuyên bố có điều kiện chỉ có thể tạo ra kết quả khác nhau khi điều kiện có cơ hội đánh giá theo những cách khác nhau. Vì vậy, khi nào mã của bạn không chạy trong môi trường mã cấp cao nhất và điều gì xảy ra với giá trị của 2 trong trường hợp đó?Mã trong tệp của bạn không được chạy trong môi trường mã cấp cao hơn nếu bạn nhập mô-đun của mình. Trong trường hợp đó, Python đặt 2 thành tên mô -đun.Để thử điều này, hãy khởi động bảng điều khiển Python và nhập mã từ 2 dưới dạng mô -đun:>>>
Python thực thi mã được lưu trữ trong không gian tên toàn cầu của 2 trong quá trình nhập, điều đó có nghĩa là nó sẽ gọi 1 và viết đầu ra vào bảng điều khiển.Tuy nhiên, trong trường hợp này, giá trị của mô -đun 2 là khác nhau. Nó chỉ vào 3, một chuỗi mà bằng tên mô -đun.Bạn chỉ biết rằng đối với môi trường mã cấp cao nhất của bạn, 2 luôn là 3, vì vậy hãy tiếp tục và xác nhận điều đó trong phiên phiên dịch của bạn. Ngoài ra, hãy kiểm tra chuỗi 3 đến từ đâu:>>>
Python thực thi mã được lưu trữ trong không gian tên toàn cầu của 2 trong quá trình nhập, điều đó có nghĩa là nó sẽ gọi 1 và viết đầu ra vào bảng điều khiển.Tuy nhiên, trong trường hợp này, giá trị của mô -đun 2 là khác nhau. Nó chỉ vào 3, một chuỗi mà bằng tên mô -đun.
Bây giờ bạn biết rằng giá trị của 2 sẽ có một trong hai giá trị tùy thuộc vào nơi nó sống:
Trong môi trường mã cấp cao nhất, giá trị của 2 là 3.Trong một mô -đun đã nhập, giá trị của 2 là tên mô -đun dưới dạng chuỗi.
Bởi vì Python tuân theo các quy tắc này, bạn có thể tìm hiểu xem một mô-đun có chạy trong môi trường mã cấp cao nhất hay không. Bạn làm điều này bằng cách kiểm tra giá trị của 2 bằng một câu lệnh có điều kiện, đưa bạn đến vòng tròn đầy đủ cho tên thành ngữ tên chính:Với việc kiểm tra có điều kiện này, bạn có thể khai báo mã chỉ thực thi khi mô-đun được chạy trong môi trường mã cấp cao nhất. >>>
Python thực thi mã được lưu trữ trong không gian tên toàn cầu của 2 trong quá trình nhập, điều đó có nghĩa là nó sẽ gọi 1 và viết đầu ra vào bảng điều khiển.Tuy nhiên, trong trường hợp này, giá trị của mô -đun 2 là khác nhau. Nó chỉ vào 3, một chuỗi mà bằng tên mô -đun.Bạn chỉ biết rằng đối với môi trường mã cấp cao nhất của bạn, $ python namemain.py
__main__ |