Is An Element of a Sequence an Object?

Peter Otten __peter__ at web.de
Mon Jun 5 02:49:43 EDT 2017


Thomas Jollans wrote:

> On 04/06/17 09:52, Rustom Mody wrote:
>> On Sunday, June 4, 2017 at 12:45:23 AM UTC+5:30, Jon Forrest wrote:
>>> I'm learning about Python. A book I'm reading about it
>>> says "... a string in Python is a sequence. A sequence is an ordered
>>> collection of objects". This implies that each character in a string
>>> is itself an object.
>>>
>>> This doesn't seem right to me, but since I'm just learning Python
>>> I questioned the author about this. He gave an example the displays
>>> the ids of string slices. These ids are all different, but I think
>>> that's because the slicing operation creates objects.
>>>
>>> I'd like to suggest an explanation of what a sequence is
>>> that doesn't use the word 'object' because an object has
>>> a specific meaning in Python.
>>>
>>> Am I on the right track here?
>> 
>> Its a good sign that you are confused
>> If you were not (feeling) confused, it would mean you are actually more
>> so… Following is not exactly what you are disturbed by... Still closely
>> related
>> 
>>>>> s="a string"
>>>>> s[0]
>> 'a'
>>>>> s[0][0]
>> 'a'
>>>>> s[0][0][0][0][0]
>> 'a'
> 
> Also:
> 
>>>> s[0] is s[0][0][0][0][0][0][0]
> True
>>>>

However, this is an implementation detail:

>>> def is_cached(c):
...     return c[0] is c[0][0]
... 
>>> is_cached(chr(255))
True
>>> is_cached(chr(256))
False





More information about the Python-list mailing list