Trong tài liệu một hàm Python, tôi thấy nó Pythonic nhiều điều để nói:Tài liệu Python: có thể lặp lại nhiều lần?
def Foo(i):
"""i: An interable containing…"""
... chứ không phải là ...
def Foo(i):
"""i: A list of …"""
Khi i
thực sự không cần phải là một list
. (Foo
sẽ hoạt động vui vẻ trên set
, tuple
, v.v.) Sự cố là máy phát. Máy phát thường chỉ cho phép 1 lần lặp. Hầu hết các chức năng đều OK với máy phát hoặc vòng lặp chỉ cho phép một lần truyền, nhưng một số thì không.
Đối với những chức năng không thể chấp nhận máy phát/những thứ chỉ có thể được lặp lại một lần, có một thuật ngữ Python rõ ràng, nhất quán để nói "điều chỉ có thể được lặp lại nhiều lần" không?
Thuật ngữ Python cho iterable và iterator dường như có định nghĩa "một lần, nhưng có thể nhiều hơn nếu bạn may mắn".
Một "bộ sưu tập"? Nó dường như mô tả tất cả các loại ví dụ ở đây. – ephemient
+1 cho việc sử dụng vùng chứa, dường như nắm bắt ý tưởng cơ bản theo cách ngắn gọn nhất, nhưng ... Tôi không nghĩ rằng mình đã thấy "vùng chứa" được sử dụng trong bất kỳ tài liệu Python nào? –
Một thùng chứa là một đối tượng với phương thức '__contains __()', không cần thiết cũng không đủ để có thể tái sử dụng được. http://docs.python.org/library/collections.html#collections.Container –