LINUX.ORG.RU

Python 2.7

 ,


0

0

3 июля 2010 вышло обновление Python 2.x, в котором были добавлены возможности, ранее присутствовавшие только в ветке 3.x, а также другие улучшения:

  • Новый тип — упорядоченный словарь
  • unittest обзавелся новыми методами assert и может пропускать (по требованию, естественно) тесты
  • значительно ускорена работа модуля IO
  • автоматическая нумерация полей в методе str.format()
  • Улучшения представления repr для типа float, как в Python 3
  • Поддержка Tile для TkInter
  • Объект memoryview портирован обратно из Python 3
  • литералы для множеств ({a, b, c})
  • comprehensions для множеств и словарей
  • Dictionary views — способ представления фрагмента словаря без копирования
  • Новый синтаксис для вложенных операторов with
  • Новый модуль sysconfig

>>> Анонс релиза на оф. сайте и загрузка

★★★★★

Проверено: Shaman007 ()

Ответ на: комментарий от anonymous

>Ну конечно, развели на бабки кучу лохов

Чуйствую, про жаба-хайп в 90-х тебе вообще говорить не нужно, а то сердечный приступ случится) А ведь там все на порядки эпичнее было, некоторых до сих пор не отпускает.

volh ★★ ()
Ответ на: комментарий от anonymous

> Помнится перл в 1998-2003 тоже пихали в каждую дырку - на десктоп, в энтепрайз - и он везде пролетел, кроме своей основной ниши. Думаю с питоном будет тоже самое - только в какую нишу ему потом возвращаться ?

Питон был написан изначально для администраторских задач. Нынче там он сидит достаточно крепко.

balodja ★★★ ()
Ответ на: комментарий от tailgunner

Требовалось доказать, что сам факт использования ЯП ни о чем не говорит.

Если вас не впечатляет встроенный в продукт №1 язык программирования, то и не просите таких примеров. Зрите в особенности самого ЯП.

AVL2 ★★★★★ ()
Ответ на: комментарий от balodja

>Питон был написан изначально для администраторских задач. Нынче там он сидит достаточно крепко.

нет его там.

ответ - перл и bash.

AVL2 ★★★★★ ()
Ответ на: комментарий от anonymous

> Перл и питон примерно одного возраста

Это такая полуправда, которая хуже наглого вранья %)

Да до того, как гугл стал пиарить питон, его использовали единицы.

А вот это обычное наглое вранье.

tailgunner ★★★★★ ()
Ответ на: комментарий от oh

>А что, к 2010 году тикль стал работать как-то хуже?

жирненькая императивщинка. нет ему места.

AVL2 ★★★★★ ()
Ответ на: комментарий от anonymous

>Хотя я всё же очень надеюсь, что со временем Lift задушит РоР, и через десяток лет о Руби будут вспоминать как о недоразумении, тупиковой ветки в эволюции языков.

Ну то есть новая мода на скала лучше старой моды на руби, так?) А все кто не с нами, кто не творит новое лучшее доброе вечное - лохи.

volh ★★ ()
Ответ на: комментарий от AVL2

> Требовалось доказать, что сам факт использования ЯП ни о чем не говорит.

Конечно. О чем-то может говорить факт широкого использования языка.

Если вас не впечатляет встроенный в продукт №1 язык программирования

Эээ.. с каких пор Автокад - продукт N1? И да, AutoLISP не впечатляет, причем бывалых лисперов, а не меня. И целевую аудиторию Автокада он тоже не впечатляет - подумай, зачем Autodesk встроил в продукт скриптование на VBA.

tailgunner ★★★★★ ()
Ответ на: комментарий от anonymous

Помнится перл в 1998-2003 тоже пихали в каждую дырку - на десктоп, в энтепрайз - и он везде пролетел, кроме своей основной ниши. Думаю с питоном будет тоже самое - только в какую нишу ему потом возвращаться ?

Ну дело ведь в том, что питон не пихают, его _уже_ запихали. Куча программ на нем написана, вставки на питоне весьма активно используются.

А вообще основная ниша питона как по мне - шел скрипты, когда не хватает баша. По сравнению с перлом для этой же цели - питон просто удобнее.

Davinel ()
Ответ на: комментарий от AVL2

>> Питон был написан изначально для администраторских задач. Нынче там он сидит достаточно крепко.

нет его там.


а я говорю, есть.

ответ -

перл



нет его там. ну вообще нет. был, но уже слава б-гу весь выпилили.

и bash.


разве что для очень небольших скриптов, часто в качестве прототипа, а потом переписывается на питоне

val-amart ★★★★★ ()
Ответ на: комментарий от Oleaster

Это ты всё верно сказал, только от зеркала отойди, а?

GreyDoom ★★★★ ()
Ответ на: комментарий от Oleaster

> Экая новость! Можно никуда не ходить, а открыть какой-нибудь «Инфо-Бизнес» и прочитать там какое-нибудь интервью на псевдорусском языке. Суть сводится к тому, что «мы купим за рубль и впарим вам за три полное дерьмо», но, благодаря многочисленым нерусским словам, выглядит вполне благообразно.

как ловко съехал с вопроса о врачах! ты все-таки сходи, просвети их. а за американизированных бизнесменов можешь тут вообще не заикаться, у тебя какие-то неадекватные параллели, нифига не параллельные, зато удобные тебе.

val-amart ★★★★★ ()
Ответ на: комментарий от Sylvia

Что-то я замечаю странное. Ты как бы удивительно адекватна в последнее время. В смысле я удивительно часто читаю твои посты, удовлетворённо киваю, а потои брови немного приподнимаются, когда читаю ник. В общем, респект и уважуха, спасибо за новость.

GreyDoom ★★★★ ()
Ответ на: комментарий от val-amart

Удобно также слово с матерком вставить. Но всё-таки в документах так пока не пишут и дикторы программы «Время» не говорят. Даже на ЛОРе сообщения удаляют.

Может, всё-таки не надо путать удобство и низкий уровень образования и культуры? :)

Oleaster ★★★ ()
Ответ на: комментарий от tailgunner

>> Это такая полуправда, которая хуже наглого вранья %)

Perl - 1989 Python - 1990

Несмотря на то, что в википедии написано про 1987 для перла, 20 летие отмечали в 2009.

>> А вот это обычное наглое вранье. Если вы все 20 лет состояли в списке рассылки питона, то у вас, rонечно, могла возникнуть иллюзия известности и востребованности этого языка. А ведь даже пару -тройку лет назад питон преподносился как нечто новое и революционное и даже считался языком маргиналов.

Хотя я припоминаю, как много лет назад мне приходилось фиксить пакеты для редхата, которые содержали python в своем названии.

anonymous ()
Ответ на: комментарий от AVL2

>ты здесь завис

да нет же, захожу отгрести очередную порцию хорошего настроения, не больше :)

И обсуждаешь тонкости привкуса пестона


опять нет-же, он (питон) мне ни во что не упёрся... :)

yyk ★★★★★ ()
Ответ на: комментарий от Davinel

>> Ну дело ведь в том, что питон не пихают, его _уже_ запихали. Куча программ на нем написана, вставки на питоне весьма активно используются.

Время покажет - тогда тоже была куча графических приблуд на перле, и множество howto по встраиванию интерпретатора. Python уйдет также как и perl - в нем нет ничего революционного и отсутствующего в других языках.

anonymous ()
Ответ на: комментарий от Oleaster

> Может, всё-таки не надо путать удобство и низкий уровень образования и культуры? :)

то есть, по твоему, среди всего населения лора, только у тебя мифически высокий уровень образования и культуры? остальные, значит, быдло необразованное? это не ты своим чсв крышу мира подпираешь, часом?

потому что большинство присутствующих здесь людей разбираются в предмете, который обсуждают. и именно ты выглядишь воинственным необразованным лингвистом.

val-amart ★★★★★ ()
Ответ на: комментарий от anonymous

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

val-amart ★★★★★ ()

Да перл вас всех порвет, с вашим пистоном как «замена баша»

oh ()
Ответ на: комментарий от val-amart

>>> Питон был написан изначально для администраторских задач. Нынче там >он сидит достаточно крепко.

нет его там.


а я говорю, есть.

ответ -
перл


нет его там. ну вообще нет. был, но уже слава б-гу весь выпилили.

и bash.


разве что для очень небольших скриптов, часто в качестве прототипа, а >потом переписывается на питоне

Уважемый, вы обкурились или несмешно троллите ?

anonymous ()
Ответ на: комментарий от anonymous

>> Это такая полуправда, которая хуже наглого вранья %)

Perl - 1989 Python - 1990

Несмотря на то, что в википедии написано про 1987 для перла, 20 летие отмечали в 2009.

Какая разница, когда его отмечали? Первый релиз - в 1987 (ладно, пусть в 1988), причем язык занял пустовавшую нишу.

Если вы все 20 лет состояли в списке рассылки питона, то у вас, rонечно, могла возникнуть иллюзия известности и востребованности

Я в ней и сейчас не состою, а мнение об известности и востребованности языка составил на основе анализа текущей ситуации 8-10-летней давности.

tailgunner ★★★★★ ()
Ответ на: комментарий от balodja

>io — это не дефолтный ввод-вывод, это новая библиотека, на которую ввод-вывод пересаживается в 3.x.

об том и речь, что даже в самом пестоне, пестон последовательно сливает сам себя. В нормальных ЯП тренд строго обратный - по мере взросления языка его переписывают на самом себе. Возьми тот же вала. Еще даже первой версии нет, а он уже полностью написан на вала. И ведь даже не назовешь валу полноценным языком. Так, оопешная игрушка...

Про ghc и речи нет - хаскель на хаскеле и написан. А тут, стоит переписать на сях и десятикратный рост гарантирован...

AVL2 ★★★★★ ()
Ответ на: комментарий от GreyDoom

на будущее, никому не нравится, когда ему говорят, что он _неожиданно_ адекватен.

AVL2 ★★★★★ ()
Ответ на: комментарий от tailgunner

>Конечно. О чем-то может говорить факт широкого использования языка.

бесик, жабка, сишарпик...

Эээ.. с каких пор Автокад - продукт N1?

по юзерской базе? давно.

И да, AutoLISP не впечатляет, причем бывалых лисперов, а не меня. И целевую аудиторию Автокада он тоже не впечатляет -

это лучше, чем пестон.

подумай, зачем Autodesk встроил в продукт скриптование на VBA.

см. начало поста. потому что бесик.

AVL2 ★★★★★ ()
Ответ на: комментарий от AVL2

> пестон последовательно сливает сам себя. В нормальных ЯП тренд строго обратный - по мере взросления языка его переписывают на самом себе

Ыыы, да ты не только жырный тролль, ты еще и не в теме %)

tailgunner ★★★★★ ()
Ответ на: комментарий от AVL2

>> Конечно. О чем-то может говорить факт широкого использования языка.

бесик, жабка, сишарпик...

Они все позволяют решать реальные задачи.

Эээ.. с каких пор Автокад - продукт N1?

по юзерской базе?

Ссфлку на статистику приведешь?

И да, AutoLISP не впечатляет, причем бывалых лисперов, а не меня. И целевую аудиторию Автокада он тоже не впечатляет -

это лучше, чем пестон.

Доо... как будто кто-то сравнивал.

tailgunner ★★★★★ ()
Ответ на: комментарий от Davinel

>Ну дело ведь в том, что питон не пихают, его _уже_ запихали. Куча программ на нем написана, вставки на питоне весьма активно используются.

ничего этого нет. Есть мелкие необязательные утилитки и фронтэнды к системным утилям, которые тоже по мере взросления переписывают.

А вообще основная ниша питона как по мне - шел скрипты, когда не хватает баша.

перл.

По сравнению с перлом для этой же цели - питон просто удобнее.

тормознее, глючнее и многословнее.

AVL2 ★★★★★ ()
Ответ на: комментарий от AVL2

> Возьми тот же вала. Еще даже первой версии нет, а он уже полностью написан на вала

А тут, стоит переписать на сях и десятикратный рост гарантирован...


совершенно некорректное сравнение. как ты думаешь, если переписать валу на сях, она станет медленнее?
и с хаскедем не корректно. хаскель - статически типизируемый, быстрый язык. на таком вполне логично писать компиляторы. а вот на питоне - нет. так как динамический и медленный. вот и переписывают на сях, главное, портативность сохраняется. а полная релаизация питона на питоне есть, pypy называется.

val-amart ★★★★★ ()
Ответ на: комментарий от val-amart

полная релаизация питона на питоне есть, pypy называется.

Не на питоне.

baverman ★★★ ()
Ответ на: комментарий от val-amart

Лично мне неудобно:

- отсутствие операторов инкремента/декремента - обязательное указание кодировки файла для успешной компиляции, если там есть не ascii символы (в 2010-то году !) - постоянное приведение типов - хочешь конкатнуть число в строку - str(), хочешь чтобы результат деления сохранил дробную часть - float() для каждого аргумента. - даже самые базовые функции выносятся в отдельные модули - импорт на каждый чих, но наверное тем, кто встраивает питон такое удобно. - мне не нравятся пробелы для выделения блоков кода - ни одна ide так и не смогла правильно делать табуляцию при перводе строки( откуда ей знать, какой я блок сейчас закончил ?) - зоопарк веток - для меня это критично, потому что нужно писать скрипты, которые работают на разных дистрах и порой на BSD - нужно держать в голове, какие питона версии есть на конкретном дистре

Все это неудобно мне и поэтому я по возможности стараюсь избегать питона,с вами же все понятно - для вас питон хороший, а то что я перечислил фигня и фичи.

Единственное за что я люблю питон, так это за pygame, только ради этой библиотеки терплю всю конченность языка.

anonymous ()
Ответ на: комментарий от val-amart

А какая разница, врачи или коммерсанты? Сейчас специально зашёл на «Инфо-бизнес», сразу заголовок: «Евросеть» посчитала сотовый ритейл Не доход от продажи, а ритейл. Это такое новое русское слово.

То же самое и везде. Эта зараза повсюду ползёт, и я от неё не свободен, конечно. Я ведь не выступаю против умеренного заимствования терминов в ситуации, когда это действительно необходимо, в частности, против международного терминологического языка науки (так что нечего на врачей кивать). Но вы тут все защищаете, если слегка утрировать, право говорить «три герлицы под виндом пряли рано ивнингом», ссылаясь на то, что иначе питон питонить не будет, и руби рубить. А это уж враньё.

Oleaster ★★★ ()
Ответ на: комментарий от val-amart

>>> полная релаизация питона на питоне есть, pypy называется.

Не на питоне.

разве?

На подмножестве Питона, допускающем статическую типизацию.

tailgunner ★★★★★ ()
Ответ на: комментарий от anonymous

почему, не фигня и не фичи. вполне адекватное мнение, в отличие от многих. мое имхо таково: инкремент-декремент пофиг, указание кодировки - можно было бы и без него, да. но у меня вим сам это все вставляет. в файл же много чего надо вставлять, лицензию например. явное преобразование - это хорошо. вы себе не представляете какое количество ошибок, часто труднообнаружимых новички допускают из-за неявного преобразования, например, в Си. импорты это лишние неймспейсы, что есть хорошо. пробелы - спорное решение. правда, достаточно один раз настроить вим - и никаких проблем (я держу табуляцию на том же уровне, что и предидущая строка, обычно то, что надо). вот зоопарк веток, это да, проблема. мне приходиться часто писать под 2.4, так как это последний питон на большинстве наших солярок. а пайгеймом ниразу не пользовался =)

val-amart ★★★★★ ()
Ответ на: комментарий от Oleaster

> Но вы тут все защищаете, если слегка утрировать, право говорить «три герлицы под виндом пряли рано ивнингом»

И всё праведное негодование - из-за слова «бэкпорт» в узкоспециальной новсти на узкоспециальном сайте? %)

tailgunner ★★★★★ ()
Ответ на: комментарий от anonymous

> Покажи пример непродуманного месива

Да блоки те же пресловутые. Что это вообще? Не функция, не объект, не то не сё. Спец. синтаксис для передачи колбеков. Ещё и в сигнатуре принимающей функции они не определены. В итоге ради одного частного случая имеем 5 извратов - магический yield, ||, &, block_given?, call. Этот самый call тоже хрень изрядная. Так как Матц не сделал нормальных unbound methods aka functions имеем такой маразматический синтаксис для ссылок на функцию в модуле: f = M.method(:foo), и потом разыменование: f.call. Блин, да в перле и то удобнее. Не говоря уж о семантической разнице между таким типа-callable объектом (туда же и Proc) и обычным методом. Я понимаю, семантика сообщений, все дела, но отсутствие first class functions - это драматически неудобно. Причем, сделай скобки при вызове обязательными, и это стало бы возможным даже в рамке семантики сообщений. И не пришлось бы читателю кода (в том числе интерпретатору) гадать, что же это за foo - переменная или вызов метода. Далее, где нормальные модули с импортом-экспортом? Те модули, что в Руби есть, заточены исключительно под миксины. Вообще, в Руби писать иначе, чем в ОО-стиле, почти невозможно (если это не малюсенький скрипт). Идея открытых классов тоже модульности не улучшает. Кстати, ни в Питоне, ни в Перле, ни в Тикле я не встречал столько проблем из-за name clashing. Модульность (инкапсуляция в широком смысле) в Руби просто ниже плинтуса. Дальше по мелочям. Где keyword-аргументы? Мудохаться с хэшами в супер-высокоуровневом языке - спасибо, Матц. Спец. синтаксис для предикатов доставляет: if !list.include?(some) - как это читать вообще? Понятно, идейка стырена откуда то из Схемы (видимо). Только на Java-like синтаксис ложится исключительно хреново. Да и где вы видели в логике предикаты в форме вопросительного предложения? Нонсенс. Синтаксис для instance variables - ужас (привет, перл), для class variables - двойной ужас. Далее список унылых перлизмов, убивающих читаемость: unless, хвостовые if-ы, глобальные иероглифы. Все эти креативы давно развенчаны Damian Conway и даже перл-сообщество их избегает. Руби код же пестрит выражениями вида do_foo && do_bar && do_baz || do_something_else if some_condition. Когда встречаешь такие строчки по 100 символов в длину, хочется подвесить за яйца одного лингвиста. Вот всего вышеперечисленного мне хватает, чтобы избегать Руби, даже не касаясь проблем реализации.

anonymous ()
Ответ на: комментарий от Oleaster

ты пожалуйста не утрируй и не съезжай на коммерсантов - мы не коммерсанты.

Но вы тут все защищаете, если слегка утрировать, право говорить «три герлицы под виндом пряли рано ивнингом», ссылаясь на то, что иначе питон питонить не будет, и руби рубить.


где это я такое говорил?

val-amart ★★★★★ ()
Ответ на: комментарий от tailgunner

ну да. потому что без статической типизации он был бы жутко медленным.

val-amart ★★★★★ ()
Ответ на: комментарий от val-amart

то есть, по твоему, среди всего населения лора, только у тебя мифически высокий уровень образования и культуры? остальные, значит, быдло необразованное?

5. Из других софизмов непоследовательности надо упомянуть здесь, прежде всего очень распространенный и часто довольно курьезный софизм, который можно, пожалуй, назвать «бабьим» или вежливее – «дамским аргументом». Он в ходу и у мужчин, да еще как; но в женских устах он, в общем, получает почему-то особый блеск и рельефность.

Суть его вот в чем. По многим вопросам возможно, мыслимо не одно, не два, а несколько, много решений, несколько предположений и т.д. Некоторые из них противоположны друг другу. По здравому смыслу и по требованиям логики надо учитывать все их. Но софист поступает наоборот. Желая, напр., защитить свое мнение, он выбирает самое крайнее и самое нелепое противоположное из других мыслимых решений вопроса и противопоставляет своему мнению. Вместе с тем он предлагает нам сделать выбор: или признать эту нелепость, или принять его мысль. Чем ярче контраст между нелепостью и защищаемым им мнением, тем лучше. Все остальные возможные решения намеренно замалчиваются.

(«Искусство спора» Поварнина, если в курсе, что это такое.)

Быдло — это слово не из моего лексикона. Но Вы сперва навязали мне, в своём воображении, ультранегативное высказывание, а затем «блестяще» меня «высмеяли». На самом деле, жизнь — она не чёрно-белая, и между «быдлом» и высококультурным человеком есть много градаций. И то, что Вы зачем-то опускаетесь в ничего не значащем споре до «бабьего аргумента», также вовсе не значит, что Вы во всех отношениях пропащий и никудышный человек. Но ЧСВ у Вас чешется, ага. Бывает.

Oleaster ★★★ ()
Ответ на: комментарий от AVL2

Похоже, вы просто не видели ни разу питон. Может только слышали о нем на ЛОР-е. Программы на питоне компактны, удобочитаемы и вполне приемлемо быстро выполняются. Ну, а про глюки это вообще мимо кассы

anonymous ()
Ответ на: комментарий от val-amart

> ну да. потому что без статической типизации он был бы жутко медленным.

Совсем не поэтому. Без статической типизации было бы гораздо труднее сгенерировать эффективный JIT-компилятор.

tailgunner ★★★★★ ()
Ответ на: комментарий от val-amart

Тут: «это все бред. всем известно понятие специализированного языка. в около-ITшной тусовке масса заимствованных слов, и причина очень простая - людям удобнее пользоваться такими словами. язык, он не для гравировки в камне, он для народа.»

Мы все прекрасно знаем, на каком ужасном жаргоне говорит «IT'шная тусовка», и само это выражение «айтишная тусовка», особенно в записи нерусскими буквами — тоже ужасный жаргон. Грязь это всё, языковой мусор.

Oleaster ★★★ ()
Ответ на: комментарий от Oleaster

Вот тут согласен, «айти» бесит жутко, но это скорее не лингвистическая травма, а плохие воспоминания с хабра.

oh ()
Ответ на: комментарий от tailgunner

Да было бы одно словцо «бэкпорт», и говорить-то было бы не о чем. Но у нас весь язык теперь засорён, и у меня тоже, разумеется. Говорим всякую тарабарщину, а попытка сказать то же самое по-русски вызывает негативные последствия — от тяжёлых умственных раздумий до аж истерики по поводу «ымперии». Ненормально это.

Oleaster ★★★ ()
Ответ на: комментарий от Oleaster

> Да было бы одно словцо «бэкпорт»

В тексте новости только оно и есть. Остальное - либо английский, либо привычный русский.

tailgunner ★★★★★ ()
Ответ на: комментарий от val-amart

Вы не поняли проблемы с табуляцией: допустим есть код вида:

if cond1:
    if cond2:
        while cond3:
          action()

После action() я нажимаю Enter, и перехожу по дефолту в колонку с самой глубокой вложенностью - IDE не может в принципе знать при такой расстановке в блоке какого уровня вложенности будет следующий оператор. При наличии например {} для выделения блоков проблема исчезает - любая ide автоматически оттабулирует только чтов веденную } к нужному блоку.

Если для табуляции используется \t, то приходится длеать пару тройку нажатий backspace, что терпимо. Однако для себя взял за правило использовать только пробелы для табуляции - никогда не знаешь в каком редакторе в следующий раз будешь править скрипт. Тут отстукивать бэкспэйсы приходится порядочно.

Может для новичков такое привидение и лучше, но кода создается больше чем хотелось бы.

anonymous ()
Ответ на: комментарий от tailgunner

>Они все позволяют решать реальные задачи.

именно. позволяют перебыдлокодить проблему. и то не всегда. Поэтому приводить в защиты трушности ЯП статистику его использования - явный признак ФГМ.

Ссфлку на статистику приведешь?

чтобы опять нищеброды с лора сказали, что статистика не такая и вообще не аргумент?

Доо... как будто кто-то сравнивал.

с одной стороны, глупо сравнивать небо и землю. Но еще глупее, на этом основании утверждать, что земля выше неба.

AVL2 ★★★★★ ()
Ответ на: комментарий от anonymous

> Python уйдет также как и perl - в нем нет ничего революционного и отсутствующего в других языках.

ну для ухода перла были веские причины - его убожество и нечитаемость. а каковы будут причины ухода питона?

anonymous ()
Ответ на: комментарий от anonymous

я понял проблему. просто для меня это не такая уж проблема. табулирование пробелами, при бекспейсе удаляется не один пробел, а 4 (один уровень табуляции). конечно, это не так удобно, как прыганье по фигурным скобкам, и если надо вернуться больше чем на один уровень, то надо несколько раз жамкнуть бекспейс.

val-amart ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.