2013-05-18 37 views
5

Tôi đã xem qua một dòng trong python:chức năng chính Python

def somefunc: 
    [...] 

if __name__ == '__main__': 
    somefunc 

Tôi không hiểu những gì "nếu __name ..." không.

Giả sử chúng ta có:

if __name__ == '__main__': main() 

#this code will find main 

Vậy là này tương tự như chính) chức năng (trong C/C++, mà được thực hiện trước khi bất kỳ chức năng khác?

+0

http://stackoverflow.com/questions/419163/what-does-if-name-main-do –

Trả lời

1

bạn có thể coi đây là chính() trong C hoặc BEGIN {} khối trong perl.

khi bạn chạy mã bằng python file1.py.

__name__ trong tệp1.py bằng '__main__', nhưng trong các tệp khác được nhập bởi file1.py, biến là thứ khác.

8

Nếu bạn thực thi tập lệnh của mình trực tiếp, mà không cần nhập mã, __name__ sẽ bằng __main__. Nhưng nếu bạn nhập tệp này, __name__ sẽ bằng với tên của mô-đun đang nhập tệp. Điều kiện này đảm bảo bạn thực thi mã của mình từ tệp này.