2014-07-14 40 views
45

/ có nghĩa là gì trong kết quả help của Python 3.4 cho range trước dấu đóng ngoặc?Python: Dấu gạch chéo có nghĩa gì trong đầu ra của trợ giúp (phạm vi)?

>>> help(range) 
Help on class range in module builtins: 

class range(object) 
| range(stop) -> range object 
| range(start, stop[, step]) -> range object 
| 
| Return a virtual sequence of numbers from start to stop by step. 
| 
| Methods defined here: 
| 
| __contains__(self, key, /) 
|  Return key in self. 
| 
| __eq__(self, value, /) 
|  Return self==value. 

             ... 

Trả lời

63

Nó báo hiệu sự kết thúc của positional only parameters, thông số bạn không thể sử dụng như các thông số từ khóa. Các thông số như vậy chỉ có thể được xác định trong API C.

Nó có nghĩa là key lập luận để __contains__ chỉ có thể được thông qua bằng vị trí (range(5).__contains__(3)), không phải là một đối số từ khóa (range(5).__contains__(key=3)), một cái gì đó bạn có thể làm với đối số vị trí trong các chức năng tinh khiết-python.

Ngoài ra hãy xem tài liệu Argument Clinic:

Để đánh dấu tất cả các thông số như vị trí chỉ trong Clinic Argument, thêm một / trên một dòng riêng của mình sau khi tham số cuối cùng, thụt vào giống như các dòng tham số.

Cú pháp cũng đã được xác định để đưa vào tương lai có thể có trong Python, xem PEP 457 - Syntax For Positional-Only Parameters. Tại thời điểm PEP hoạt động như một sự bảo lưu trên cú pháp, không có kế hoạch thực tế để thực hiện nó như vậy.

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