Почему строка, возвращаемая из экземпляра класса, сохраняет тип NoneType, хотя IDLE говорит, что это строка?

Я использую экземпляр класса, который возвращает строку.

Я дважды вызываю этот экземпляр и собираю возвращаемые значения в список. Затем я пытаюсь использовать .sort () для сортировки этих двух строк. Однако, когда я это делаю, он выдает ошибку, говорящую, что тип (Nonetype – рассматривает его как объект).

Я проверил с типом (элемент списка), и он вернул тип «строка». Я понятия не имею, что происходит. В основном в режиме ожидания он говорит, что у меня есть строки в списке. Но при запуске он вызывает ошибку, говорящую, что NoneType (список этих строк) не является итерируемым.

вот пример:

list_of_strings = [class_method(args), class_method(another_args)] ## this instance returns string print type(list_of_strings[0]) #prints type 'str' 

ОШИБКА:

 list_sorted = list(list_of_strings.sort()) TypeError: 'NoneType' object is not iterable 

Большое спасибо!

Джордж

2 Solutions collect form web for “Почему строка, возвращаемая из экземпляра класса, сохраняет тип NoneType, хотя IDLE говорит, что это строка?”

Из документации python:

7. Методы sort() и reverse() изменяют список для экономии пространства при сортировке или изменении большого списка. Чтобы напомнить вам, что они действуют по побочному эффекту, они не возвращают отсортированный или отмененный список.

Использовать sorted() :

 list_sorted = list(sorted(list_of_strings)) 

Вы должны использовать sorted() :

 list_sorted = list(sorted(list_of_strings)) 

Теперь вы вызываете list() на None который является результатом .sort() .

  • Как создать отдельные экземпляры класса в Python?
  • Python: Как передать переменные между экземплярами класса или получить вызывающего?
  • Как получить доступ к «себе» в рамках класса?
  • Как python обрабатывает экземпляр объекта в цикле 'for'
  • Преобразовать строку в имя объекта
  • Элемент добавления Python в список экземпляров также добавляет его в список других экземпляров
  • Python - почему он не создает новый экземпляр объекта?
  • Выполнить экземпляр класса из одного файла в другом файле?
  • Python - лучший язык программирования в мире.