A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2018-June/153997.html below:

[Python-Dev] PySequence_Check but no __len__

[Python-Dev] PySequence_Check but no __len__ [Python-Dev] PySequence_Check but no __len__Ivan Pozdeev vano at mail.mipt.ru
Fri Jun 22 15:30:20 EDT 2018
On 22.06.2018 22:17, Ivan Pozdeev wrote:
> On 22.06.2018 22:07, Terry Reedy wrote:
>> On 6/22/2018 7:17 AM, Christian Tismer wrote:
>>
>>>
>>> My problem is to find out how to deal with a class which has
>>> __getitem__ but no __len__.
>>>
>>> The documentation suggests that the length of a sequence can always
>>> be obtained by len().
>>> https://docs.python.org/3/reference/datamodel.html
>>
>> It says that plainly: "The built-in function len() returns the number 
>> of items of a sequence. "
>>
>> https://docs.python.org/3/library/collections.abc.html#collections-abstract-base-classes 
>>
>>
>> says that a Sequence has both __getitem__ and __len__.
>>
>> I am surprised that a C-API function calls something a 'sequence' 
>> without it having __len__.
>>
> A practical sequence check is checking for __iter__ . An iterator 
> doesn't necessarily have a defined length -- e.g. a stream or a 
> generator.
>
Now, I know this isn't what 
https://docs.python.org/3/glossary.html#term-sequence says.
But practically, the documentation seems to use "sequence" in the sense 
"finite iterable". Functions that need to know the length of input in 
advance seem to be the minority.

-- 
Regards,
Ivan

More information about the Python-Dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4