LINUX.ORG.RU

Что нового в Python 2.4


0

0

Вышел Python 2.4 RC1. Наиболее заметные изменения:
- специальный тип данных для десятичных чисел (PEP 327)
- Generator Expressions (PEP 289) -- синтаксический аналог list comprehensions для итераторов
- декораторы (PEP 318) в форме предложенной Гвидо ван Россумом
- объединение Integer и LongInteger (PEP 237)
- многочисленные улучшения, касающиеся сортировки, арифметики с большими числами, синтаксиса языка
- оптимизатция итераторов и операций с последовательностями
- улучшенный оптимизатор байткода.

В стандартной библиотеке существенных изменений нет

>>> Подробности

anonymous

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

python рулит

молодцы!

вот тока бы скорости добавить...

Pi ★★★★★
()

А стоило ли новость постить? Все-таки RC, не релиз...

int19h ★★★★
()

Offtopic.
Меня, чесно говоря, уже запарили его отступы... Все остальное устраивает, особенно радует наличие родного интерпретатора под win32. Сейчас поглядываю на ruby, но его, как я понял без костыля ака cygwin на win32 не запустить, а жаль. Для меня самое главное: кроссплатформенность, наличие поддержки какой-нибудь графической библиотеки, классы и сокеты. Питон хорош, но отступы - это ужас!

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

>Питон хорош, но отступы - это ужас!

отступы - гарантия того, что питон не превратится в перл /я про синтаксис/

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

В перле отличный синтаксис, не надо ляля ;)

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

>отступы - гарантия того, что питон не превратится в перл /я про синтаксис/

А чем вас не устраивает перловый синтаксис?

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

> чем вас не устраивает перловый синтаксис?

Много лишних скобочек.

int19h ★★★★
()

А можно привести примеры рельного использования Python ? Желательно примеры где его использование действительно оправданней других языков ?

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

Судя по всему, в GMail используется Python. Не уверен, конечно, что там всё на Python'е написано (не считая JavaScript'а), но url'ы вроде http://gmail.google.com/support/bin/answer.py?answer=6563&topic=-1 встречаются. А вообще, Python - хороший язык, но Common Lisp лучше :)

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

> А можно привести примеры рельного использования Python ? Желательно примеры где его использование действительно оправданней других языков

Системные утилиты красной шапки (начиная с инсталятора) написаны именно на питоне.

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

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

>Судя по всему, в GMail используется Python.

Да и в гууугле питон не последнее место занимает

Pi ★★★★★
()

Отличный язык. Писать просто и быстро, понимать код легко, множество приложений - от научных до проектов вроде Zope, при возникновеннии узких мест всегда можно достаточно легко встроить модуль на Си. В общем я очень доволен :)

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

>отступы - гарантия того, что питон не превратится в перл /я про синтаксис/ Ну хорошо, не будет никогда синтаксис питона похож на синтаксис перла, это отменяет дефективность отступов? Или отличный от перла синтаксис без отступов ну никак не получится? См. тот же ruby.

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

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

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

>>>А можно привести примеры рельного использования Python ...

Blender посмотри, или тот же emerge :)

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

> это отменяет дефективность отступов?

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

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

>Сейчас поглядываю на ruby, но его, как я понял без костыля ака cygwin на win32 не запустить, а жаль

Ээээ, это как же ? Подожди, а как же я его без свяких цыгвинов запускаю? Вот http://bt.rubyforge.org/

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

>> отступы - гарантия того, что питон не превратится в перл /я про синтаксис/

удивляюсь, как легко вы отказали языку в хорошем будущем :)))

[off]
.pl - сила,
.py - могила!
[/off]

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

> [off]
> .pl - сила,
> .py - могила!
> [/off]

На самом деле всё наоборот. :)

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

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

отступы рулятъ - компактно, не надо думать "будет после if-а одна инструкция или открывать блок", нет уродства в виде пяти строк с закрывающими скобками (при этом чаще чем в питоне начала блоков на экране уже не видно)

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

> А можно привести примеры рельного использования Python ? Желательно примеры где его использование действительно оправданней других языков ?

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

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

На питоне написан eric3 (http://www.die-offenbachs.de/detlev/eric3.html) и pyqt (http://www.riverbankcomputing.co.uk/pyqt/index.php).

Из моего опыта программирования: - ASM -> C -> C++ -> PHP -> Python...

Python однозначно рулит в плане WEB приложений (Zope->Plone), в плане GUI/SQL приложений (pyqt), в плане распределенных приложений вместе с Corba OmniIDL, в плане скриптов для сервера рулит сам по себе.

Какой язык лучше и удобнее пока не знаю. Но знаю он еще будет ).

Посматриваю в сторону ERL.

Кстати, кто, что может рассказать про ERL?

Встанет ли ERL над python в моем списке?

anonymous
()

Кстати кто-нибудь занимается Python.ru, а то я недавно заходил, там половину ссылок битые:( Нужно бы поддрежать проект...

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

>А можно привести примеры рельного использования Python ? Желательно >примеры где его использование действительно оправданней других языков ?

Была такая не плохоя игруха под Вин32 - Blade of Darnes (как-то так), дык она на питоне(!) написанна была.

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

в предыдушем посте естесственно Blade of Darkness

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

> Была такая не плохоя игруха под Вин32 - Blade of Darnes (как-то так), дык она на питоне(!) написанна была.

Вроде бы на питоне там были только скрипты? Типа как QuakeC в первой кваке?

int19h ★★★★
()

Еще "Петька и Чапаев" на Питоне.

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

Как не сложно догадаться, им занимается Денис Откидач.

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

>.pl - сила, .py - могила!

Еще один любитель криптокода и никому не нужных скобок.

Cybem ★★
()

надеюсь хоть в этой ветке они убрали этот баг с отмерянием пробелов в начале строки

anonymous
()

как в лоре же было сказано... не мной и по моему этого никто пока не поправил..;))

"питон сосёт, но перл сосёт быстрее..;)"

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

http://anarchy-online.com - Zope и Python, вестимо. :)

Питоновский синтаксис (в т.ч. отступы) и навязываемая им культура писания делают код читабельным (особенно чужой). К сожалению, пока над программистами нет Большой Дубинки, каждый будет оформлять код кто влес, кто по дрова. Python style позволяет исключить (или ограничить) использование Большой Дубинки в коллективных проектах. Криптокод а ля перл идет лесом, им я занимаюсь только за деньги (и то, проект собираюсь переводить на Питон), а Питон - это для души...

Единственное, что меня стремает в Питона - отсутствие объявлений переменных, что переводит в рантайм отлов опечаток и проблемы с областями видимости, что неприятно.

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

Ну так напиши в zopyrus(at)itconnection(dot)ru - глядишь поправят.

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

>Единственное, что меня стремает в Питона - отсутствие объявлений переменных, что переводит в рантайм отлов опечаток и пр

Есть pychecker - муйня, которая очень помогает.

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

>Единственное, что меня стремает в Питона - отсутствие объявлений переменных, что переводит в рантайм отлов опечаток и проблемы с областями видимости, что неприятно.

Частично в этом помогает pychecker (http://pychecker.sourceforge.net) - отлавливает частые ошибки, но, правда, не просекает (да и не должен :-) ) шаманств с __[gs]etattr__

adarovsky ★★★★
()
Ответ на: комментарий от Sun-ch

>Есть родной ruby под виндовс, классы, сокеты, wxWidgets - усе в полный

сыровато все однако (может только под виндами?) - особенно wxWidgets. с месяц назад смотрел - падает с грохотом. юникода опять таки нету ...

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

> а аналогоа perl -w -c для питона нет? зачем же проверку до рантайма доводить?

Ну сам подумай, что лучше - программа выплевывает тебе ошибку при попытке запуска с номером строки/столбца, где ты накосячил, или делает не пойми что некоторое время, а потом выдает неверный результат. И где тогда ошибку искать? :) И это хорошо, если ошибка очевидна, а то извергнет нечто правдоподобное, и поймешь ты это, когда начальство уже начнет тебя маникюрными ножничками кастрировать... :)

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

Ну, это вообще костыль еще тот... Штатных средств-то нет.

А сделали бы объявление переменных (а еще бы типизацию переменных для желающих посредством декораторов, но это вообще мечты), все само встало бы на свои места.

CybOrc
()
Ответ на: комментарий от Sun-ch

>Есть родной ruby под виндовс, классы, сокеты, wxWidgets - усе в полный

опять таки нету ничего типа корбы или ice. к стати :

New features in development for Ice 1.6

In an effort to keep our users informed about our plans for Ice, we are announcing that the following new features will be available in Ice 1.6:

* Language mapping for Python 2.3. The Ice extension for Python is layered on Ice for C++ for superior efficiency and stability, while providing native Python access to the Ice API.

* Language mapping for Visual Basic .NET 2003. Integrated with our native C# implementation, Ice will be available to the large community of Visual Basic developers.

* A lightweight Ice firewall ("Glacier2"), requiring fewer resources and only one external port.

* A public serialization API for converting Slice types to and from a byte sequence.

http://www.zeroc.com/vbulletin/showthread.php?s=&threadid=785

со дня на день должен быть.

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

>сделали бы объявление переменных (а еще бы типизацию переменных для желающих посредством декораторов, но

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

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

>Штатных средств-то нет.


можно так делать:


def declare(declaration_list):
   import sys
        vars = sys._getframe(1).f_code.co_varnames
        for v in vars:
            if v not in declaration_list:
                raise DeclarationError, "local '%s' not declared" % v




а потом так:

    def function(a,b,c):
        if __debug__:
            declare(["a","b","c","hello","q&quo
t;,"r","s"])
         a = 1; b = 2;
         meme = 3 # oops!
  
          

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

да.. кривено. Perl в этом отношении лучше. perl -c код, и все ошибки видны без запуска!

> а аналогоа perl -w -c для питона нет? зачем же проверку до рантайма доводить?

Ну сам подумай, что лучше - программа выплевывает тебе ошибку при попытке запуска с номером строки/столбца, где ты накосячил, или делает не пойми что некоторое время, а потом выдает неверный результат. И где тогда ошибку искать? :) И это хорошо, если ошибка очевидна, а то извергнет нечто правдоподобное, и поймешь ты это, когда начальство уже начнет тебя маникюрными ножничками кастрировать... :)

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

> да.. кривено. Perl в этом отношении лучше. perl -c код, и все ошибки видны без запуска!

В этом отношении да... Но общая перловая дефективность - возможность написания нечитабельного кода, невнятные префиксы переменных, отсутствие исключений - хуже, чем отсутствие объявлений переменных... С pychecker'ом хоть и костыль, но все же perl -wc худо-бедно заменяет, а вот отсутствие исключений для современного языка - это грустно...

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

И, вдогонку, дефект перла касательно необъявленных переменных (оно там тоже есть, только в ином виде) исправить еще труднее. Я имею в виду перловые переменные-члены объекта... К тому же, такой синтаксис для объекта - это ж вообще мрак.

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

Исключения в perl'е есть спокон веку (ну, с пятой версии - точно :-)).

Правда, оформлены они странновато, как и все в перле (через eval { } / die), но такие исключения вполне работают. Замечу, что в случае использования {} происходит нормальная компиляция в момент загрузки, то есть, это не eval "$arbitrary_string", которую не проверишь до момента исполнения, а параметром die может быть не только строка, но и произвольный объект (и он нормально пробразывается до места проверки $@ aka $EVAL_ERROR). Есть даже модули на CPAN, которые оборачивают всю эту машинерию во вполне привычные глазу ОО-конструкции.

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

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