Что ж, сильная сторона - это уточнение между байтами и строкой. Сколько раз за ваш короткий опыт работы с Python вы путались с неясными UnicodeDecodeError
и UnicodeEncodeError
? Если у вас никогда не возникало проблем с юникодом и байтовыми строками, вполне вероятно, что вы используете язык только для ascii (английский?;)), Но обычно это концепция, которую труднее всего понять новичкам. (кстати, если вы все еще в замешательстве, эта ссылка должна помочь для Python 2.x)
Я действительно считаю, что это различие между str и байтами является одной из сильных сторон Python3.0. Прочитайте PEP358 для формального описания и класс diveintopython для чего-то более ориентированного на конечного пользователя. Эта новая функция вынуждает разработчиков поддерживать четкое различие между объектами Unicode и байтовыми объектами, которые закодированы в определенной кодировке. Я считаю, что это изменение поможет новичкам легче понять разницу между этими двумя структурами, а также поможет опытным разработчикам, использующим разумные методы программирования.
Но, конечно, у этого изменения есть свои неудобства: портирование приложений 2.x довольно сложно, и изменение str + unicode в str + байтов - самая раздражающая вещь, которую нужно изменить, если вы еще не четко разделяете Unicode и байтовые строки. в вашем коде 2.x. Раздражает, но долго нужно.
Эти последние изменения выглядят раздражающими для многих пользователей и ... раздражающими для реализации важных библиотек / решений. Текущая сила Python2.x - это многочисленные сторонние приложения / модули: но, поскольку портировать портирование на Python3 иногда нетривиально, этим сторонним приложениям потребуется некоторое время для переноса (а поскольку 2.x все еще эти приложения должны поддерживать две версии: одну, предназначенную для клиентов 2.x, и одну для 3.x ... дорогостоящее обслуживание!) В следующем году число полноценных приложений, работающих под управлением Python3, вероятно, будет весьма низкий из-за малого числа Python3-совместимых третьих сторон. Но опять же, я решительно поддерживаю эти критические изменения: вы читали эту сказку Обезьяна, банан, Python (3) и пожарный шланг ? ;)