Юникод в нем можно использовать только, если явно укажешь, например u'тест'. А вот просто 'тест' уже не юникод, а ANSI. Отсюда много путаницы возникает. Особенно когда англоязнычные программисты сначала напишут программу без юникода (Django тому пример), а потом судорожно прикручивают его поддержку. Короче, нужно, чтобы юникод по умолчанию был.
учитывая что unicode(str) все замечательно пофиксит, а u'фыв' сразу рухнет - абсолютно непринципиально. Это принципиально только для фраз вшитых в исходники. А они свалятся сразу если мультибайтовые.
Не могу с вами полностью согласиться. Я, вот, постоянно думаю, как написать правильно.
«There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.»
Просто, вероятно, вы ещё не сталкивались с ситуациями, когда приходится использовать декораторы классов или динамически менять тип объекта. И никогда не задумывались, как красиво реализовать reduce в python 3, где её по умолчанию не будет.
Потому что Python - для людей, а Perl - для системных администраторов :). Код дествительно получается изящнее и чище, при этом не в ущерб гибкости. Замечательный скриптовый язык, одно удовольствие писать на нем.
Где-то я это читал. Не на сайте ли Питона? «Главные особенности 3.0 — это поддержка Unicode» — вы неправильно выразились. Поддержа юникода в Питоне давным-давно, а в 3.0 просто-напросто ничего другого не будет.
Подробности о Python 2.6 и Python 3.0