2009-12-29 31 views

Trả lời

9

Điều này sẽ đúng nếu mô-đun này đang được chạy dưới dạng chương trình độc lập. Bằng cách đó, một cái gì đó có thể hoạt động như một mô-đun được nhập bởi chương trình khác hoặc một chương trình độc lập, nhưng chỉ thực thi mã trong câu lệnh if nếu được thực thi như một chương trình.

4

Đó là một kiểm tra để xem bạn có đang chạy trực tiếp tập lệnh hay không nếu nó được đưa vào thư viện.

Khi bạn chạy một kịch bản python như thế này:

python myScript.py 

Nó sẽ gửi một tham số, nói cho bạn để chạy các chương trình phương pháp đầu tiên, được gọi là rộng rãi "chính", vì vậy khi __name____main__ bạn biết rằng chương trình được thực hiện từ một dòng lệnh hoặc nhấp đúp.

1

Ông đã viết mô-đun python, dự định được sử dụng qua import.

Nếu mô-đun được chuyển đến thông dịch viên làm tập lệnh python chính, mã bạn báo sẽ chạy. Điều này sẽ gọi phương thức interact() trong trình gỡ rối python.

13

__name__ là biến được đặt tự động trong chương trình thực thi python. Nếu bạn import mô-đun của mình từ một chương trình khác, __name__ sẽ được đặt thành tên của mô-đun. Nếu bạn chạy chương trình của mình trực tiếp, __name__ sẽ được đặt thành __main__.

Do đó, nếu bạn muốn có một số điều cần xảy ra chỉ nếu bạn đang chạy chương trình của bạn từ dòng lệnh và không phải khi nhập khẩu (ví dụ. Các unit test cho một thư viện), bạn có thể sử dụng

if __name__ == "__main__": 
    # will run only if module directly run 
    print "I am being run directly" 
else: 
    # will run only if module imported 
    print "I am being imported" 

lừa. Đó là một thành ngữ Python phổ biến.

Các vấn đề liên quan