2013-04-07 36 views
12

Tôi đã đọc Hidden features of Python và tôi đã xem qua số answer này.Tên của toán tử “_” trong Python là gì?

Ngay từ những bài:

Khi sử dụng vỏ tương tác, "_" chứa giá trị của người cuối cùng in mục:

>>> range(10) 
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 
>>> _ 
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 
>>> 

tên của việc này là gì nhà điều hành ? Tôi không thể tìm thấy nó trên tài liệu và tôi chưa bao giờ nghe về nó (cũng như bằng các ngôn ngữ khác). Là nó có giá trị sử dụng nó?

PS. Tôi muốn biết tên của nó vì tôi muốn xem cách chức năng được triển khai thực hiện và tìm kiếm xem các ngôn ngữ khác có chức năng tuyệt vời này hay không.

+7

Nó không phải là một nhà điều hành, chỉ là một tên biến. –

+1

Nó không phải là một nhà điều hành. Lisp có nó, nó được đặt tên là '*'. –

+0

đã có một bài về vấn đề này trước: http://stackoverflow.com/questions/5893163/underscore-in-python Trân – LoBS

Trả lời

12

Nó không phải là toán tử hay hàm. Đó là một biến số tự động được gán kết quả của mỗi biểu thức được thực hiện bởi trình bao.

+0

Điều này có phụ thuộc vào vỏ không? –

+4

@Sancho python-shell phụ thuộc, vâng. Nhưng về cơ bản mọi người đều sử dụng cùng một trình bao Python (và thậm chí các biến thể ít phổ biến hơn vẫn có xu hướng thực hiện nó). – Amber

+0

@Sancho Trong IPython shell giá trị mặc định của '_' là' "" '. –

3

Có vẻ như nhân vật đó có một vài chức năng. Nó được sử dụng trước các biến toàn cầu để chúng không được trộn lẫn với các biến thông thường. Nó cũng có thể được sử dụng trong một vòng lặp như là một throwaway để chỉ ra rằng biến sẽ không được sử dụng.

Trong trường hợp này, dấu gạch dưới (_) khi được nhập vào trình thông dịch sẽ trả về giá trị của câu lệnh được thực thi cuối cùng.

Để biết thêm thông

What is the purpose of the single underscore "_" variable in Python?

What is the meaning of a single- and a double-underscore before an object name?

the underscore of python

+3

"* Nó được sử dụng trước các biến toàn cục để chúng không được trộn lẫn với các biến thông thường *". Đó không phải là "sử dụng" của một biến. –

+0

Tốt, cảm ơn. – JFA

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