Trang chủHướng dẫnTìm hiểu hàm main trong Python: Cấu trúc, cách gọi và vai trò thực tế

Tìm hiểu hàm main trong Python: Cấu trúc, cách gọi và vai trò thực tế

CyStack blog 3 phút để đọc
CyStack blog16/10/2025
Locker Avatar

Chris Pham

Technical Writer

Locker logo social
Reading Time: 3 minutes

Hàm main trong Python chỉ được thực thi khi chương trình được chạy trực tiếp dưới dạng một chương trình Python. Như bạn đã biết, chúng ta cũng có thể import một chương trình Python như một module trong trường hợp đó, hàm main sẽ không nên được thực thi.

hàm main trong Python

Hàm main trong Python

Hàm main là điểm khởi đầu của bất kỳ chương trình nào. Tuy nhiên, trình thông dịch Python sẽ thực thi mã nguồn theo tuần tự và sẽ không tự động gọi một hàm nếu hàm đó không được viết trực tiếp trong luồng. Nếu đoạn mã nằm trực tiếp trong file, nó sẽ được thực thi ngay cả khi file đó được import như một module. Chính vì vậy, Python có một kỹ thuật đặc biệt để định nghĩa hàm main, đảm bảo rằng nó chỉ được thực thi khi chương trình chạy trực tiếp, và sẽ không được chạy khi file đó được import như một module. Hãy cùng xem cách định nghĩa hàm main trong một chương trình Python đơn giản: python_main_function.py.

print("Hello")

print("__name__ value: ", __name__)

def main():
    print("python main function")

if __name__ == '__main__':
    main()
  • Khi một chương trình Python được thực thi, trình thông dịch Python sẽ bắt đầu chạy mã bên trong chương trình đó. Đồng thời, nó cũng thiết lập một số biến ngầm định, trong đó có biến __name__, với giá trị được gán là __main__.
  • Để định nghĩa hàm main trong Python, chúng ta cần khai báo một hàm, sau đó sử dụng điều kiện if __name__ == '__main__' để thực thi hàm này.
  • Nếu tệp mã nguồn Python được import như một module, trình thông dịch sẽ gán giá trị của __name__ thành tên module. Khi đó, điều kiện if sẽ trả về false và hàm main sẽ không được thực thi.

Python cho phép chúng ta linh hoạt đặt tên bất kỳ cho hàm main. Tuy nhiên, theo best practice, nên đặt tên hàm này là main(). Đoạn code dưới đây là hợp lệ, nhưng không được khuyến nghị.

def main1():
    print("python main function")

if __name__ == '__main__':
    main1()

Hình ảnh bên dưới hiển thị đầu ra khi python_main_function.py được thực thi dưới dạng tệp nguồn.

Hàm main trong Python

Hàm main của Python dưới dạng mô-đun

Bây giờ chúng ta hãy sử dụng tệp nguồn python ở trên làm mô-đun và import vào một chương trình khác.

python_import.py

import python_main_function

print("Done")

Bây giờ khi chương trình trên được thực thi, đầu ra bên dưới sẽ được tạo ra.

Hàm main trong Python

Lưu ý rằng hai dòng đầu tiên được in ra từ tệp mã nguồn python_main_function.py. Giá trị của biến __name__ là khác nhau, do đó hàm main không được thực thi. Hãy chú ý rằng các câu lệnh trong chương trình Python được thực thi tuần tự từng dòng, vì vậy việc định nghĩa hàm main() phải được đặt trước câu lệnh if để hàm main có thể được gọi. Nếu không, bạn sẽ gặp lỗi: NameError: name 'main' is not defined.

Kết luận

Tóm lại, cấu trúc if __name__ == '__main__': là một công cụ mạnh mẽ và thiết yếu trong lập trình Python. Nó cung cấp cho chúng ta khả năng kiểm soát chính xác khi nào một khối code cụ thể nên được thực thi: chỉ khi script đó là chương trình chính đang chạy trực tiếp. Hãy đưa kỹ thuật này vào hành trang lập trình của bạn để xây dựng các ứng dụng Python mạnh mẽ, module hóa và dễ bảo trì hơn.

0 Bình luận

Đăng nhập để thảo luận

Chuyên mục Hướng dẫn

Tổng hợp các bài viết hướng dẫn, nghiên cứu và phân tích chi tiết về kỹ thuật, các xu hướng công nghệ mới nhất dành cho lập trình viên.

Đăng ký nhận bản tin của chúng tôi

Hãy trở thành người nhận được các nội dung hữu ích của CyStack sớm nhất

Xem chính sách của chúng tôi Chính sách bảo mật.

Đăng ký nhận Newsletter

Nhận các nội dung hữu ích mới nhất