Main() nghĩa là gì trong python?

Các ngôn ngữ khác [như C và Java] có hàm main[] được gọi khi chương trình được thực thi. Sử dụng if này, chúng ta có thể làm cho Python hoạt động giống như chúng, điều này khiến nhiều người cảm thấy quen thuộc hơn

  • Mã sẽ sạch hơn, dễ đọc hơn và được tổ chức tốt hơn. [vâng, tôi biết điều này là chủ quan]

  • Có thể import mã python đó dưới dạng một mô-đun mà không có tác dụng phụ khó chịu

  • Điều này có nghĩa là có thể chạy thử nghiệm đối với mã đó

  • Điều này có nghĩa là chúng ta có thể nhập mã đó vào trình bao python tương tác và kiểm tra/gỡ lỗi/chạy nó

  • Các biến bên trong def main là cục bộ, trong khi các biến bên ngoài nó là toàn cục. Điều này có thể giới thiệu một vài lỗi và hành vi không mong muốn

  • Tuy nhiên, bạn không bắt buộc phải viết hàm main[] và gọi nó bên trong câu lệnh if

    Bản thân tôi thường bắt đầu viết các tập lệnh nhỏ dùng một lần mà không có bất kỳ loại chức năng nào. Nếu tập lệnh phát triển đủ lớn hoặc nếu tôi cảm thấy việc đặt tất cả mã đó vào trong một hàm sẽ có lợi cho tôi, thì tôi cấu trúc lại mã và thực hiện. Điều này cũng xảy ra khi tôi viết

    class MyApplication[something]:
        # My code here
    
    if __name__ == "__main__":
        app = MyApplication[]
        app.run[]
    
    0 kịch bản

    Ngay cả khi bạn đặt mã bên trong chức năng chính, bạn không bắt buộc phải viết chính xác như vậy. Một biến thể gọn gàng có thể là

    import sys
    
    def main[argv]:
        # My code here
        pass
    
    if __name__ == "__main__":
        main[sys.argv]
    

    Điều này có nghĩa là bạn có thể gọi main[] từ các tập lệnh khác [hoặc shell tương tác] chuyển các tham số tùy chỉnh. Điều này có thể hữu ích trong các bài kiểm tra đơn vị hoặc khi xử lý hàng loạt. Nhưng hãy nhớ rằng đoạn mã trên sẽ yêu cầu phân tích cú pháp argv, do đó, có lẽ sẽ tốt hơn nếu sử dụng một lệnh gọi khác chuyển các tham số đã được phân tích cú pháp

    Theo kinh nghiệm của mình thì trên 90% người biết Python đã từng sử dụng hàm main[]. Nhưng đối với 10% không dùng hàm main[] thì script Python vẫn hoạt động. Thậm chí, 90% người ở trên đôi khi không sử dụng

    import sys
    
    def main[argv]:
        # My code here
        pass
    
    if __name__ == "__main__":
        main[sys.argv]
    
    1 nhưng kịch bản của họ vẫn hoạt động. Đã bao giờ bạn tự hỏi tại sao?

    Giải thích trực tiếp

    Khi sử dụng

    import sys
    
    def main[argv]:
        # My code here
        pass
    
    if __name__ == "__main__":
        main[sys.argv]
    
    2

    • Tất cả mã của bạn được bao bọc trong một hàm, vì vậy tất cả các biến đều là cục bộ. Các chương trình sử dụng biến cục bộ nhanh hơn các chương trình không sử dụng. Do đó, tập lệnh có
      import sys
      
      def main[argv]:
          # My code here
          pass
      
      if __name__ == "__main__":
          main[sys.argv]
      
      3 có thể chạy nhanh hơn nhiều lần
    • Nếu không có lính canh chính, mã sẽ được thực thi ngay cả khi tập lệnh được nhập dưới dạng mô-đun
    • Đó là mã soạn sẵn giúp bảo vệ người dùng khỏi vô tình gọi tập lệnh khi họ không có ý định. Dưới đây là một số vấn đề phổ biến khi phần bảo vệ bị bỏ qua trong tập lệnh
    • Nếu bạn nhập tập lệnh không có bảo vệ trong tập lệnh khác [e. g.
      import sys
      
      def main[argv]:
          # My code here
          pass
      
      if __name__ == "__main__":
          main[sys.argv]
      
      4], thì tập lệnh thứ hai sẽ kích hoạt tập lệnh đầu tiên chạy tại thời điểm nhập và sử dụng các đối số dòng lệnh của tập lệnh thứ hai. Điều này hầu như luôn luôn là một sai lầm
    • Nếu bạn có một lớp tùy chỉnh trong tập lệnh không có bảo vệ và lưu nó vào tệp pickle, thì việc bỏ chọn lớp đó trong tập lệnh khác sẽ kích hoạt quá trình nhập tập lệnh không có bảo vệ, với các vấn đề tương tự được nêu trong dấu đầu dòng trước đó
    Giải thích chi tiết

    Python là một trong những ngôn ngữ lập trình phổ biến nhất để học. Hàm main trong Python đóng vai trò là điểm thực thi của bất kỳ chương trình nào. Xác định chức năng chính trong lập trình Python là điều cần thiết để bắt đầu thực thi chương trình vì nó chỉ được thực thi khi chương trình được chạy trực tiếp và không được thực thi khi được nhập dưới dạng mô-đun

    Chức năng chính trong Python là gì?

    Trong hầu hết các ngôn ngữ lập trình, có một chức năng đặc biệt được thực hiện tự động mỗi khi chạy chương trình. Đây không là gì ngoài chức năng chính hoặc hàm main[] vì nó thường được biểu thị. Về cơ bản, nó đóng vai trò là điểm khởi đầu để thực hiện chương trình

    Trong Python, không cần định nghĩa hàm main mỗi khi viết chương trình. Điều này là do trình thông dịch Python thực thi từ đầu tệp trừ khi một chức năng cụ thể được xác định. Do đó, có một điểm bắt đầu được xác định để thực thi chương trình Python của bạn sẽ hữu ích để hiểu rõ hơn về cách chương trình của bạn hoạt động

    Trong hầu hết các chương trình/tập lệnh Python, bạn có thể thấy định nghĩa hàm, theo sau là câu lệnh điều kiện giống như ví dụ dưới đây

    def main[]:
    print["duythinbmt"]
    if "__name__" = "__main__":
    main[]

    Python có cần Hàm chính không?

    Không bắt buộc phải có Hàm chính trong Python, tuy nhiên, trong ví dụ trên, bạn có thể thấy, có một hàm gọi là 'main []'. Tiếp theo là câu lệnh 'if' có điều kiện để kiểm tra giá trị của "name" và so sánh nó với chuỗi "main". Khi đánh giá thành True, nó thực thi hàm main[]

    Và khi thực thi, nó in ra “Xin chào, Thế giới. ”

    Loại mẫu mã này rất phổ biến khi bạn đang xử lý các tệp sẽ được thực thi dưới dạng tập lệnh Python và/hoặc được nhập vào các mô-đun khác

    Hãy hiểu cách mã này thực thi. Trước đó, cần phải hiểu rằng trình thông dịch Python đặt “tên” tùy thuộc vào cách mã được thực thi. Vì vậy, hãy tìm hiểu về các chế độ thực thi trong Python

    Chế độ thực thi Python

    Có hai cách chính để bạn có thể yêu cầu trình thông dịch Python thực thi mã

    • Cách phổ biến nhất là thực thi tệp dưới dạng Tập lệnh Python
    • Bằng cách nhập mã cần thiết từ tệp Python này sang tệp Python khác

    Dù bạn chọn chế độ thực thi nào, Python định nghĩa một biến đặc biệt có tên là name, chứa một chuỗi. Và như tôi đã nói trước đây, giá trị của chuỗi này phụ thuộc vào cách mã được thực thi

    Đôi khi, khi bạn đang nhập từ một mô-đun, bạn muốn biết liệu chức năng của một mô-đun cụ thể có đang được sử dụng làm chức năng nhập hay bạn chỉ đang sử dụng chức năng gốc. py [tập lệnh Python] của mô-đun đó

    Để giải quyết vấn đề này, Python có một biến tích hợp đặc biệt, được gọi là “tên”. Biến này được gán chuỗi “chính” tùy thuộc vào cách bạn đang chạy hoặc thực thi tập lệnh

    "Chính" trong Python là gì?

    Chức năng chính của Python là sự khởi đầu của bất kỳ chương trình Python nào. Khi chúng ta chạy một chương trình, trình thông dịch sẽ chạy mã tuần tự và sẽ không chạy hàm chính nếu được nhập dưới dạng mô-đun, nhưng Hàm chính chỉ được thực thi khi nó được chạy dưới dạng chương trình Python

    Vì vậy, nếu bạn đang chạy tập lệnh trực tiếp, Python sẽ gán “chính” cho tên, tôi. e. , tên = “chính”. [Điều này xảy ra trong nền]

    Kết quả là, cuối cùng bạn viết câu lệnh if có điều kiện như sau

    if __name__ == "__main__":
    main[]

    Do đó, nếu câu lệnh điều kiện đánh giá là True, điều đó có nghĩa là,. py [Python Script] đang được chạy hoặc thực thi trực tiếp

    Điều quan trọng là phải hiểu rằng, nếu bạn đang chạy thứ gì đó trực tiếp trên trình bao Python hoặc thiết bị đầu cuối, thì theo mặc định, câu lệnh điều kiện này sẽ là Đúng

    Do đó, các lập trình viên viết tất cả các định nghĩa chức năng cần thiết ở trên cùng và cuối cùng viết câu lệnh này ở cuối để sắp xếp mã

    Tóm lại biến “tên” giúp bạn kiểm tra xem file đang chạy trực tiếp hay đã được nhập vào

    Có một số điều bạn nên ghi nhớ khi viết các chương trình sẽ có chức năng chính. Tôi đã liệt kê chúng trong bốn bước đơn giản. Bạn có thể coi đây là một danh pháp tốt để làm theo khi viết các chương trình Python có chức năng chính trong đó

    • Sử dụng các hàm và lớp bất cứ khi nào có thể
    • Sử dụng tên để kiểm soát việc thực thi mã của bạn
    • Tạo một hàm main[] có mã để chạy
    • Tạo một hàm main[] có mã để chạy
    Đó là tất cả — Kết luận

    Bây giờ, với tất cả thông tin ở trên, tôi nghĩ rằng tất cả chúng ta đã biết thêm về hàm main[] trong Python, chế độ thực thi và điểm vào của chương trình Python. Nó có thể giúp mã của bạn Pythonic hơn và dễ sửa hơn khi gặp một số lỗi

    Main[] trong Python là gì?

    Trong Python, vai trò của hàm chính là đóng vai trò là điểm bắt đầu thực thi cho bất kỳ chương trình phần mềm nào . Việc thực thi chương trình chỉ bắt đầu khi hàm main được định nghĩa trong Python vì chương trình chỉ thực thi khi chạy trực tiếp, còn nếu nhập dưới dạng module thì sẽ không chạy.

    Mục đích của hàm main[] là gì?

    Hàm chính đóng vai trò là điểm khởi đầu để thực hiện chương trình . Nó thường điều khiển việc thực hiện chương trình bằng cách hướng lời gọi đến các chức năng khác trong chương trình.

    Chức năng chính trong Python ở đâu?

    Không quan trọng chức năng chính có mặt ở đâu hay có mặt hay không. Vì không có hàm main[] trong Python nên khi lệnh chạy chương trình Python được đưa cho trình thông dịch, mã ở mức 0 . Tuy nhiên, trước khi làm điều đó, nó sẽ xác định một vài biến đặc biệt.

    Nếu __ name __ == '__ main __' nghĩa là gì trong Python?

    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ể coi khối điều kiện mà bạn mở bằng if __name__ == "__main__" như một cách để lưu trữ mã chỉ chạy khi tệp của bạn được thực thi dưới dạng tập lệnh.

    Chủ Đề