Chi tiết bài học 4.Hàm main trong Python

4.Hàm main trong Python

Hàm main trong Python với ví dụ: Tìm hiểu về __main__

Trước khi đi sâu hơn vào lập trình Python, tất cả chúng ta cần làm quen với hàm main trong Python và hiểu rõ sự quan trọng của nó .

Cùng xem đoạn mã sau đây

def main():
    print "hello world!"
print "Guru99"

Ở đây, tất cả chúng ta có hai câu lệnh in ra màn hình hiển thị ( print ), câu lệnh tiên phong nằm trong hàm main sẽ in ra “ Hello World ” và câu lệnh sau đó chạy độc lập và in ra “ Guru99 ”. Khi bạn chạy chương trình :

  • Chỉ có ” Guru99 ” được in ra
  • Cụm từ “ Hello World ” sẽ không được in ra .

Đó là bởi vì chúng ta đã không khai báo lời gọi hàm “if__name __ ==” __main__ “.

  • Khi trình thông dịch Python đọc một tệp mã nguồn, nó sẽ thực thi toàn bộ những câu lệnh có trong đó .
  • Khi Python chạy ” tệp chứa mã nguồn ” dưới vai trò là chương trình chính, nó sẽ gán giá trị ( “ __main__ ” ) cho biến ( __name__ ) .
  • Khi bạn thực thi hàm main, nó sẽ đọc câu lệnh ” if ” và kiểm tra xem biến __name__ có mang giá trị __main__ không .
  • Trong Python, “if__name __ ==” __main__ “ cho phép bạn chạy các tệp chứa mã nguồn Python dưới dạng các mô-đun có thể tái sử dụng hoặc các chương trình độc lập.

Giống như C, Python sử dụng = = để so sánh và = để gán. Trình thông dịch Python sử dụng hàm main theo hai cách

  • Khi dùng để nạp : __name __ = tên tệp của mô-đun

Câu lệnh if sẽ không được thỏa mãn nhu cầu và những đoạn mã nguồn trong __main__ sẽ không được thực thi .

  • Khi dùng để chạy trực tiếp : __ name __ = __ main__

Câu lệnh if sẽ được thỏa mãn nhu cầu và những đoạn mã nguồn trong __main__ sẽ được thực thi .

  • Vì vậy, khi mã nguồn được thực thi, nó sẽ kiểm tra tên mô-đun bằng ” if. ”

Cần chú ý quan tâm sau khi khai báo hàm main, bạn cần gọi tới mã nguồn bằng câu lệnh : if__name __ = = ” __main__ ” và sau đó chạy mã, chỉ khi đó bạn mới nhận được đầu ra ” hello world ! ” trong bảng tinh chỉnh và điều khiển lập trình như hình dưới đây .

Lưu ý : Cần chắc chắn rằng sau khi khai báo hàm main, bạn cần thụt đầu dòng chứ không viết mã nguồn ngay bên dưới câu lệnh “def main ():”; nếu không bạn sẽ gặp phải lỗi thụt lề (indent error).

def main():
    print("Hello World!")


if __name__== "__main__":
    main()
print("Guru99")

Ví dụ trên sử dụng Python 3, nếu bạn muốn sử dụng Python 2, vui vẻ chạy đoạn mã nguồn sau :

def main():
    print "Hello World!"


if __name__== "__main__":
    main()
print "Guru99"

Trong Python 3, bạn không cần sử dụng if__name. Chương trình sau vẫn hoàn toàn có thể chạy :

def main():
    print("Hello World!")


main()
print("Guru99")