Что означает ошибка TypeError: object is not callable
easy

Что означает ошибка TypeError: object is not callable

Простая ошибка, которая может случиться с каждым

Ситуация: во время работ над проектом нам понадобилось добавить в него список и кортеж с какими-то данными, а потом вывести значения первых элементов. Сделаем всё наглядно, чтобы сразу было понятно, какого типа каждая переменная:

# создаём пустой список
lst = []

# добавляем один элемент в список
lst.append('Привет')

# выводим первый элемент
print(lst(0))

Вроде всё правильно, но при запуске получаем ошибку:

❌ TypeError: 'list' object is not callable

Что означает ошибка TypeError: object is not callable

Что это значит: Python говорит, что он не может вызвать объект типа «список», чтобы он сам что-то сделал.

Когда встречается: когда мы пишем команды или операторы так, что Python воспринимает это как вызов функции и пытается её выполнить. А её нет — есть только неправильно записанная команда, отсюда и ошибка.

Как исправить ошибку TypeError: object is not callable

Почти всегда ошибка TypeError: object is not callable появляется в том случае, когда мы указываем параметры в круглых скобках — интерпретатор сразу воспринимает это как вызов функции, и происходит такое:

  1. Python встречает команду с круглыми скобками в конце.
  2. Это сразу воспринимается как вызов функции или метода объекта.
  3. Python пытается вызвать эту функцию, чтобы отработать текущую команду.
  4. Когда он обнаруживает, что такой функции или такого метода у объекта нет — останавливается и выводит ошибку.

В нашем случае, чтобы исправить ошибку TypeError: object is not callable, достаточно поменять круглые скобки на квадратные. Так Python поймёт, что мы не пытаемся вызвать метод (которого нет у списка), а обращаемся к конкретному элементу:

# создаём пустой список
lst = []

# добавляем один элемент в список
lst.append('Привет')

# выводим первый элемент
print(lst[0])
Что означает ошибка TypeError: object is not callable

Текст:

Михаил Полянин

Редактор:

Михаил Полянин

Обложка:

Алексей Сухов

Корректор:

Ирина Михеева

Вёрстка:

Мария Дронова

Соцсети:

Юлия Зубарева

Любишь Python? Зарабатывай на нём!
Изучите самый модный язык программирования и станьте крутым бэкенд-разработчиком. Старт — бесплатно.
Попробовать бесплатно
Любишь Python? Зарабатывай на нём! Любишь Python? Зарабатывай на нём! Любишь Python? Зарабатывай на нём! Любишь Python? Зарабатывай на нём!
Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
easy