Mỗi module có biến __name__. Khi bạn chạy file trực tiếp (python foo.py), __name__ của file đó bằng "__main__". Khi file bị import từ nơi khác, __name__ bằng tên module ("foo").
Đặt code chạy-thử / entry-point CLI trong khối này để nó chỉ chạy khi gọi trực tiếp, không chạy lúc bị import:
python
def main():
...
if __name__ == "__main__":
main()Nhờ vậy một file vừa là module tái sử dụng (import lấy hàm), vừa là script chạy được.