Steven D'Aprano <steve at pearwood.info> writes: > As far as I can see, in practice, people talk about obj[i] as the item > at index i, not the item at subscript i -- the term "subscript" in > this context seems to be rare to non-existent except for the error > message. Presumably, the same people would also call ‘obj[i]’ the item at *key* ‘i’, if ‘obj’ is a dictionary. For an object that supports neither indexes nor keys, though, how is Python to know which the user meant? It's a single operation as far as the parser is concerned, so there needs to be a single term for it. That term is “subscript”. Your point about the awkward word “unsubscriptable” is well-taken, though. Perhaps a simple improvement to the message wording: >>> foo = 3 >>> foo[6] Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'int' object does not support subscripts >>> foo['spam'] Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'int' object does not support subscripts -- \ “I lost a button-hole.” —Steven Wright | `\ | _o__) | Ben Finney
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