Значение индекса в вычислениях:
«символ (условно записанный как индекс, но на практике обычно нет), используемый в программе, один или с другими, для указания одного из элементов массива».
Теперь в простом примере, приведенном @ user2194711 , мы видим, что добавляемый элемент не может быть частью списка по двум причинам: -
1) На самом деле мы не вызываем метод append; потому что для этого нужно ()
.
2) Ошибка указывает на то, что функция или метод не являются допустимыми; означает, что они не индексируются как список или последовательность.
Теперь посмотри: -
>>> var = "myString"
>>> def foo(): return 0
...
>>> var[3]
't'
>>> foo[3]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'function' object is not subscriptable
Это означает, что в function
нет индексов или, скажем, элементов, как они встречаются в последовательностях; и мы не можем получить к ним доступ, как мы, с помощью []
.
Также; как сказал мипади в своем ответе; В основном это означает, что объект реализует метод __getitem__()
. (если это по подписке).
Таким образом выдается ошибка:
arr.append["HI"]
TypeError: объект builtin_function_or_method не может быть подписан