@bogdan_24

Почему ошибка при вызове метода?

ошибка TypeError: 'int' object is not subscriptable при вызове self.getAudioInfo() в строке, self.url = self.listOfAudio[self.trackId]['url']. Помогите!
class Track():
    def getAudioInfo(self):
        self.url = self.listOfAudio[self.trackId]['url']
        self.artist = self.listOfAudio[self.trackId]['artist']
        self.title = self.listOfAudio[self.trackId]['title']
        return '{0} - {1}'.format(self.artist, self.title)

    def __init__(self, trackId, uid=124366326):
        self.listOfAudio = vkapi.audio.get(owner_id=uid)
        print(self.listOfAudio)
        self.trackId = trackId
        self.getAudioInfo()
track1 = Track(0)
  • Вопрос задан
  • 7121 просмотр
Решения вопроса 1
Вот у вас есть строка: print(self.listOfAudio). Очевидно, для отладки была добавлена. Что она выводит?

Дело в том, что строчка self.listOfAudio[self.trackId]['url'] ожидает, что listOfAudio - список словарей, но на самом деле это что-то другое: список чисел или просто число. Потому как ошибка 'int' object is not subscriptable, подразумевает, что вы пытаетесь обратиться к числу как к "контейнеру". То есть равносильно такой записи: 100[1]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы