Làm thế nào để bạn gọi một hàm chính trong tập lệnh python?

Một số ngôn ngữ lập trình có một chức năng đặc biệt được gọi là main[], đây là điểm thực thi cho một tệp chương trình. Tuy nhiên, trình thông dịch Python chạy nối tiếp từng dòng từ đầu tệp và không có chức năng main[] rõ ràng

Python cung cấp các quy ước khác để xác định điểm thực thi. Một trong số họ đang sử dụng hàm main[] và thuộc tính __name__ của tệp python

__name__ trong Python là gì?

Biến __name__ là một biến Python dựng sẵn đặc biệt hiển thị tên của mô-đun hiện tại

Nó có các giá trị khác nhau tùy thuộc vào nơi chúng tôi thực thi tệp Python. Hãy xem một ví dụ

Chạy tệp Python dưới dạng tập lệnh

Giả sử chúng ta có một tệp Python có tên là helloworld. py với nội dung sau

print[__name__]

Nếu chúng ta chạy helloworld. py từ dòng lệnh, thì nó sẽ chạy dưới dạng tập lệnh Python. Chúng ta có thể chạy chương trình Python bằng lệnh sau

$ python helloworld.py

Khi chúng tôi chạy chương trình dưới dạng tập lệnh, giá trị của biến __name__ được đặt thành __main__. Vì vậy, đầu ra của chương trình sau đây sẽ là

__main__

Chạy tệp Python dưới dạng Mô-đun

Chúng tôi cũng có thể chạy tệp Python dưới dạng mô-đun. Đối với điều này, chúng ta phải nhập tệp này vào một chương trình Python khác. Hãy xem một ví dụ

Giả sử chúng ta có một tệp Python tên là main. py trong cùng thư mục với heloworld. tập tin py. Nó có nội dung sau

import helloworld

Khi chúng tôi chạy tệp này, chúng tôi sẽ có đầu ra sau

helloworld

Ở đây, chúng ta có thể thấy rằng việc nhập một mô-đun cũng chạy tất cả mã trong tệp mô-đun

Nhưng, chúng ta có thể thấy rằng thay vì hiển thị __main__, chương trình sẽ hiển thị tên của mô-đun i. e. Chào thế giới

Đó là bởi vì, trong ngữ cảnh chạy tệp Python dưới dạng một mô-đun, tên của chính mô-đun đó được gán cho biến __name__

Sử dụng if có điều kiện với __name__

Bây giờ chúng ta đã hiểu cách biến __name__ được gán giá trị, chúng ta có thể sử dụng mệnh đề điều kiện

$ python helloworld.py
0 để chạy cùng một tệp Python khác nhau trong các ngữ cảnh khác nhau

Hãy xem một ví dụ

Giả sử chúng ta thay đổi nội dung của helloworld. tập tin py như sau

def main[]:
    print["Hello World"]

if __name__=="__main__":
    main[]

Bây giờ, khi chúng tôi chạy nó dưới dạng tập lệnh thông qua dòng lệnh, đầu ra sẽ là

Hello World

Tuy nhiên, khi chúng tôi chạy nó dưới dạng một mô-đun bằng cách nhập nó vào thư mục chính. py, không có đầu ra nào được hiển thị do hàm main[] không được gọi

Ở đây, chúng ta đã tạo một hàm main[] tùy chỉnh trong helloworld. tập tin py. Nó chỉ được thực thi khi chương trình được chạy dưới dạng tập lệnh độc lập chứ không phải dưới dạng mô-đun đã nhập

Đây là cách tiêu chuẩn để xác định rõ ràng hàm main[] trong Python. Đây là một trong những trường hợp sử dụng biến __name__ phổ biến nhất của tệp Python

Xử lý tệp Python đã được giải thích chi tiết trong hướng dẫn trước của chúng tôi trong loạt bài hướng dẫn Python miễn phí

Hướng dẫn này sẽ giải thích cho bạn tất cả về chức năng chính trong Python với các ví dụ thực hành

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

Có một hàm đặc biệt trong Python giúp chúng ta tự động gọi các hàm bằng cách vận hành hệ thống trong thời gian chạy hoặc khi chương trình được thực thi và đây là cái mà chúng ta gọi là hàm chính

Mặc dù không bắt buộc phải sử dụng chức năng này trong Python, nhưng nên sử dụng chức năng này vì nó cải thiện cấu trúc logic của mã

Hãy xem mọi thứ chi tiết hơn

Bạn sẽ học được gì

Chức năng là gì?

Hàm là một khối mã được sử dụng để thực hiện một số hành động và nó còn được gọi là mã có thể tái sử dụng. Một chức năng cung cấp khả năng sử dụng lại mã và mô đun cao hơn

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

Nếu bạn quan sát hoặc nếu bạn đã từng làm việc với các ngôn ngữ lập trình khác như C, C++, C#, Java, v.v. tất cả các ngôn ngữ lập trình này đều yêu cầu chức năng chính để thực thi chương trình và không có nó, chúng ta không thể thực hiện chương trình

Nhưng nó không bắt buộc hoặc cần thiết trong ngôn ngữ python, chúng ta có thể thực thi chương trình python có hoặc không sử dụng hàm main

Chức năng chính của Python

Vì Python là một ngôn ngữ thông dịch nên nó tuân theo cách tiếp cận từ trên xuống. Chỉ vì python được diễn giải nên không có điểm nhập tĩnh nào cho chương trình và mã nguồn được thực thi tuần tự và nó không gọi bất kỳ phương thức nào trừ khi bạn gọi nó theo cách thủ công

Yếu tố quan trọng nhất trong bất kỳ ngôn ngữ lập trình nào là 'mô-đun'. Mô-đun là một chương trình có thể được đưa vào hoặc nhập vào các chương trình khác để có thể sử dụng lại nó trong tương lai mà không cần viết lại cùng một mô-đun

Tuy nhiên, có một hàm đặc biệt trong Python giúp chúng ta tự động gọi các hàm bằng cách vận hành hệ thống trong thời gian chạy hoặc khi chương trình được thực thi và đây là cái mà chúng ta gọi là hàm chính

Mặc dù không bắt buộc phải sử dụng chức năng này trong Python, nhưng nên sử dụng chức năng này vì nó cải thiện cấu trúc logic của mã

Hãy xem một ví dụ không có chức năng chính

ví dụ 1

________số 8_______

đầu ra

Buổi sáng tốt lành
Chào buổi tối

Nếu chúng ta quan sát chương trình trên, nó chỉ in ra 'Chào buổi sáng' và 'Chào buổi tối'  và nó không in cụm từ 'Xin chào Python', đó là do chúng ta không gọi nó theo cách thủ công hoặc chúng ta không sử dụng hàm chính của con trăn

đầu ra

Bây giờ hãy xem chương trình gọi hàm if __name__ == “__main__”

ví dụ 2

print[“Good Morning”]

def main[]:
          print[“Hello Python”]

print[“Good Evening”]

if __name__ == “__main__”:
         main[]

đầu ra

Buổi sáng tốt lành
Chào buổi tối
Xin chào con trăn

đầu ra

Nếu bạn quan sát chương trình trên, bạn có thể nhận được câu hỏi - tại sao Hello Python được in?

Nếu bạn quan sát chương trình dưới đây, bạn sẽ có được một bức tranh rõ ràng hơn

ví dụ 3

print[“Good Morning”]

def main[]:
           print[“Hello Python”]

if __name__ == “__main__”:
            main[]


print[“Good Evening”]

đầu ra

Buổi sáng tốt lành
Xin chào con trăn
Chào buổi tối

đầu ra

Nếu __name__ == “__main__” thì sao?

Như đã thảo luận trước đó, Python là ngôn ngữ lập trình được thông dịch và trình thông dịch bắt đầu thực thi mã ngay khi chương trình được thực thi

Trong thời gian này, trình thông dịch đặt rất nhiều biến ẩn và một trong số đó là __name__ và __main__ là giá trị được đặt cho biến. Hãy nhớ rằng chúng ta phải định nghĩa một hàm cho hàm main của python và bằng cách sử dụng if __name__ == “__main__” chúng ta có thể thực thi hàm

Khi trình thông dịch đọc dòng if __name__ == “__main__”, thì nó gặp câu lệnh if như thể là câu lệnh điều kiện và nó kiểm tra điều kiện xem biến ngầm định __name__ có bằng giá trị __main__

Nếu bạn xem xét bất kỳ ngôn ngữ lập trình nào khác như C, C++, Java, v.v. chúng ta phải viết hàm main dưới dạng main vì nó là một tiêu chuẩn chung. Nhưng Python rất linh hoạt và nó cho phép giữ bất kỳ tên nào cho hàm chính, tuy nhiên, nên giữ tên cho hàm main[]

Hãy xem một ví dụ về nó

Thí dụ

print[“Apple”]

def my_main[]:
            print[“Mango”]

if __name__ == “__main__”:
         my_main[]

print[“Orange”]

đầu ra

Quả táo
Trái xoài
Quả cam

đầu ra

Chương trình trên được thực hiện như mong đợi, nhưng nên sử dụng hàm my_main[] làm hàm main[] để nó rất dễ hiểu.

Ghi chú. Khi bạn đưa câu lệnh này if __name__ == “__main__” vào chương trình, nó sẽ thông báo cho trình thông dịch biết rằng nó luôn chỉ được thực thi dưới dạng một chương trình độc lập và bạn không thể thực thi chương trình này nếu nó là .

Thí dụ

#tên_hàm_chính của tệp. py

print[“Good Morning”]
print[“Value of implicit variable __name__ is: ”, __name__]


def main[]:
           print[“Hello Python”]


print[“Good Evening”]


if __name__ == “__main__”:
          main[]

đầu ra

Buổi sáng tốt lành
Giá trị của biến ẩn __name__ là. __chủ yếu__
Chào buổi tối
Xin chào con trăn

đầu ra

Nhập chức năng chính của Python

Gọi một chức năng từ một chương trình khác

Trước khi chúng ta đi vào khái niệm nhập chức năng chính dưới dạng một mô-đun, trước tiên chúng ta hãy hiểu cách sử dụng các chức năng có trong một chương trình vào một chương trình khác

ví dụ 1

#đặt tên tệp là thử nghiệm. py

def my_fun[a, b]:
            c = a+b
            print[“Sum of a and b is: ”, c]

#đặt tên tệp là test1. py

import test
test.my_fun[2, 3]
print[“Done”]

Chạy tệp test1. py

đầu ra

Tổng của a và b là. 5
Xong

đầu ra

Chúng ta cũng có thể nhập chức năng chính có trong một chương trình vào một chương trình khác dưới dạng mô-đun

Nếu bạn quan sát đoạn mã trên, nó sẽ in ra giá trị của __name__ là “__main__”, nhưng nếu chúng ta nhập một mô-đun từ một chương trình khác thì nó sẽ không phải là __main__. Hãy cho chúng tôi xem nó trong chương trình dưới đây

ví dụ 2

#tên của tệp python_module. py

import test
print[“Hello World”]

đầu ra

Buổi sáng tốt lành
Giá trị của biến ẩn __name__ là. kiểm tra
Chào buổi tối
Chào thế giới

đầu ra

Nếu chúng ta quan sát đầu ra của chương trình trên, 3 dòng đầu tiên đến từ mô-đun thử nghiệm. Nếu bạn để ý, nó không thực thi phương pháp kiểm tra chính. py vì giá trị của __name__ khác

Hãy tạo 2 tệp python i. e. kiểm tra1. py và test2. py

#Tôi sẽ đặt tên tệp là test1. py

def my_fun[]:
           print[“Apple”]
print[“I am in test1 file”]
if __name__ == “__main__”:
          print[“test1.py will run as standalone”]
else:
          print[“test1.py will run only when imported”]

#Tôi sẽ đặt tên tệp là test2. py

 
import test1
print[“I am in test2 file”]
test1.my_fun[]
if __name__ == “__main__”:
              print[“test2.py will run as standalone”]
else:
              print[“test2.py will run only when imported”]

đầu ra

#bây giờ hãy chạy thử nghiệm1. py
Tôi đang ở tập tin test1
kiểm tra1. py sẽ chạy độc lập

#bây giờ hãy chạy thử nghiệm2. py
Tôi đang ở tập tin test1
kiểm tra1. py sẽ chỉ chạy khi được nhập
Tôi đang ở tập tin test2
Quả táo
kiểm tra2. py sẽ chạy độc lập

đầu ra

Phần kết luận

Hy vọng hướng dẫn này đã tóm tắt cho bạn tất cả về chức năng chính trong Python

Chức năng chính là bắt buộc trong các chương trình như C, Java, v.v., nhưng python không cần thiết phải sử dụng chức năng chính, tuy nhiên, nên sử dụng chức năng này

Nếu chương trình của bạn có câu lệnh if __name__ == “__main__” thì chương trình được thực thi như một chương trình độc lập

Main[] hoạt động như thế nào trong Python?

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.

Có hàm main[] trong Python không?

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ã . Tuy nhiên, trước khi làm điều đó, nó sẽ xác định một vài biến đặc biệt.

Chủ Đề