2017-11-30 12 views
6

Dòng đầu tiên một lần Python 2.7 phiên dịch được bắt đầu trên Windows:Tại sao biến cuối cùng của lệnh "_" không xuất hiện trong dir()?

>>> dir() 
['__builtins__', '__doc__', '__name__', '__package__'] 

Sau khi bước vào lệnh dir(), biến đặc biệt _ cần được xác định:

>>> _ 
['__builtins__', '__doc__', '__name__', '__package__'] 

Nhưng, ngay cả sau khi nhập _, nó không hiển thị khi tôi cố liệt kê tất cả các tên trong không gian tên tương tác bằng cách sử dụng dir():

>>> dir() 
['__builtins__', '__doc__', '__name__', '__package__'] 

Trình thông dịch nhận ra biến này như thế nào nếu nó không có trong không gian tên của trình thông dịch?

Trả lời

10

_ đi vào không gian tên được tích hợp sẵn, không phải là hình cầu.

>>> import __builtin__ 
>>> 3 
3 
>>> __builtin__._ 
3 

dir() doesn't list built-ins:

Nếu không có đối số, trả lại danh sách tên trong phạm vi địa phương hiện nay.

Việc xây dựng trong phạm vi là một phạm vi khác nhau từ một trong những bạn đang chạy dir() trong.

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