LINUX.ORG.RU

IPython 0.11

 ,


0

1

После двух лет разработки вышло первое крупное обновление IPython под версией 0.11. За это время большая часть кода была переписана и реорганизована. Некоторые API изменились, поэтому совместимость с предыдущими версиями частично потеряна.

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

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

  • Параллельные вычисления в интерактивном режиме;
  • Возможность интерактивной визуализации с поддержкой различных GUI-библиотек;
  • Удобное и мощное автодополнение;
  • Magic-функции для расширения функциональности;
  • Управление переменными, сохранение истории, логирование;
  • Наличие API, что позволяет использовать IPython в собственных проектах.

Основные изменения и улучшения по сравнению с предыдущими версиями:

  • Standalone Qt console. Новая консоль, написанная на Qt, которая может использоваться вместо стандартной. Поддерживает подсветку синтаксиса на основе Pygments. Позволяет рисовать графики, изображения и т.п. с использованием Matplotlib прямо в консоль, а не в отдельное окно. Отображает строки документации для модулей, функций и методов;
  • Высокоуровневые параллельные вычисления с использованием ZeroMQ;
  • Интеграция с текстовым редактором Vim;
  • Интеграция с MS Visual Studio (!);
  • Улучшения в поддержке Unicode;
  • Поддержка Python 3;
  • Новая модель управления профилями и пользовательскими конфигурациями;
  • Хранение истории сеансов в SQLite.

Ссылки:

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



Проверено: Shaman007 ()
Последнее исправление: cetjs2 (всего исправлений: 5)

Ответ на: комментарий от Lonli-Lokli

> А В ПИДОНЕ ЭТИ #$%^&@ ОТСТУПЫ!!!!1111111

А в англицком эти #$%^&@ транскрипции... Хотя бы введение прочитай у создателя языка почему было решено вводить такие синтаксические конструкции. Ты не поверишь, но там есть обоснование.

dr_dobermann
()
Ответ на: научные вычисление от scireseacher

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

cat mm.c

#include <math.h>
#include <stdio.h>

static inline double func (double a)
{
return sqrt (a * a * a);
}

int main ()
{
const int n = 4000;
int i;

double Fs = 0.0, L = 0.0, ta = M_PI / n;

for (i = 0;i < n;i++)
{
double s = sin (i * ta), t;
Fs += func (s);
t = func (fabs (2 * s * s - 1));
if (t > L)
L = t;
}

printf («maxtix_morm_inf = %17.10f\n», L * Fs);
return 0;
}

Ц:
время выполнения : 0.43 мсек
память: 48 байт

говнобыдлопистон:
время выполнения : 5393 мсек
память: 128000000 байт

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

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

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

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

Аноним, харе писдебманывать... Ну не может твоя программа жрать 48 байт памяти. Знаешь почему?

Даю подсказку: матрица 4000*4000 double-ов занимает явно больше места. Или и тут С-компилер и ты вместе с ним ужали матрицу до 48 байт? Если да - то срочно лабай статейки в научные журналы, это ж революция в области теории информации. Или ты просто пытаешься всех обмануть и сравнивать потребление памяти питонокода, который генерирует матрицу в памяти и считает ее норму с С-программой, которая матрицу не генерирует?

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

ОАнаонистм, не охото с тобой заниматься, но, в примере речь шла о произвольной матрице и произвольных алгоритмах, а ты все за свое.

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

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

> Совместимость со старым API должна оставаться всегда

Да нихрена подобного! Совместимость часто тупо тормозит процесс развития. Надо просто, чтобы версионность была четкой, а совместимость поддерживать только в минорных версиях. Нет в ИТ ничего незыблемого. Мир развивается и интерфейсы должны развиваться. Тянуть старый шрот в новые версии может стоить очень дорого.

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

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

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

Даю подсказку - смотри исходный код, он весь, как на ладони.
И ещё подсказка - ключевое слово «диагональная матрица».
И ещё подсказка - хранить всю матрицу нахуй не нужно, если к элементам обращаться один раз.
И ещё подсказка - «motion loop invariant»
И ещё подсказка - «constant propagation»
И ещё подсказка - cos (2a) = (1 - sin (a)^2) / 2

Кароче - тебе тоже в школу, измомрдованное быдлопистоном дитё.

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

Ты тупое быдло с полным отсутствием мозга... До тебя не доходит, что ты сравниваешь несравнимое?

Сравниваешь потребление памяти и CPU питонокодом, который универсален и считает норму для любой матрицы с цэ-кодом, который ни капли не универсален.

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

Оформи свой быстрый и крайне экономный по памяти С-код в функцию. Я хочу считать им норму одной матрицы. Я так и быть, возьму тормозной недокодик на питоне и оформлю его в виде функции. А там уже замерим сколько времени жрёт исполнение.. И памяти...

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

P.S. Да, потратить кучу времени и сил на вычисление нормы одной (конкретной) матрицы — это уметь надо. В том время, как я на питоне посчитал быстренько (ну пусть сами вычисления заняли в 10 раз больше времени чем компиляция и исполнение твоего убогого кода) и дальше работаю над проблемой (более глобальной чем расчёт нормы конкретной матрицы), ты лабаешь свой код. Браво.. Вобщем быдокодер детектед или недоучёный из числа тех, что за неимением нормальных результатов копипастят в статьи свой длинный быдлокод для решения тривиальных задач.

anonymous
()

А кто-нибудь уже рассказал C-фанбоям, что Python - не интерпретируемый язык?
Хотя бы потому, что интерпретируемой является исключительно его реализация CPython, а сам язык не накладывает никаких ограничений.

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

Аноним онан работай : время пошло, через месяц другой ждем твой код вычисления числа обусловленности матрицы на Си. Сначала напиши код, только потом пиши сюда всякие гадости. Питон: время работы - менее секунды, время написания - менее пяти минут.

> cat test.py 
#!/usr/bin/python
from numpy import *
n=200
i=linspace(0,2*pi,n,endpoint=False)
j=linspace(0,pi,n,endpoint=False)
p,t=meshgrid(j,i)
a=diag(ones((n)))+abs(cos(t)-sin(p))**1.5
print 'cond(a)',  linalg.cond(a)

> time ./test.py 
cond(a) 555.959629749

real	0m0.143s
user	0m0.128s
sys	0m0.016s

P.S.1 его нужно чем-то занять

P.S.2. против Си ничего не имею

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

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

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

Гений, я - другой анонимус. Я и пытался тебе сказать, чтобы ты перестал кормить троллей.

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

Поддерживаю, Python не нужен, есть Scala ;-)

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

О, ОК. Для начала представь свой собсный код вычисления condition number`а на пистоне, а не вызов функции из стронней библиотеки, не тобой написанной, учоный ты наш. А так, если интересно, держи:

#include <stdio.h> #include «linalg.h»

main () { matrix m (200, 200); /* ... */ printf («Cond = %f\n», cond (m, 200)); }

PS. Ты там чо в своей кафедре/лаборатории делаешь? Видимо те совсем занятся нечем, раз вычисляешь разную херню от матриц забивая их аналитическими синусами/косинусами. Дык это не наука, открою тебе страшную тайну. И даже это не прикладуха, от которой было-бы реальный профит, а просто какой-то умственный онанизм. Открыл, понимаешь Америку - SVD разложение, метод Гаусса, эрмитово сопряжение, hat matrix, айкидо, тэкхвондо и много других страшных слов. Оно уж сто лет высрано и вылизано, нех там изобретать, и для таких, как ты, поручней готовые либы написаны. Но то, что чаще бывает нужно, это не прикрутить чужую либу, а сократить затратный вызов какого-нить перемножения матриц общего вида со сложностью O(n^3) на более простой алгоритм специального назначения сложности O(n), что тебе и было показано, но, увы не дошло.

ЗЫ Ты таки повёлся, как ребёнок, бугога.

ЗЫ Ну всё, пока, успехов в делах.

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

> А В ПИДОНЕ ЭТИ #$%^&@ ОТСТУПЫ!!!!1111111

А в англицком эти #$%^&@ транскрипции... Хотя бы введение прочитай у создателя языка почему было решено вводить такие синтаксические конструкции. Ты не поверишь, но там есть обоснование.

Когда вы излагаете мысль на ангельском - то транскрипции не напрягают. А в вашем ПИДОНЕ ?

Рабочием моменты: 1. Держишь мысль и контексты течения алгоритма и пишешь себе спокойно код на Перле где надо проставляя { и } автоматом НЕ ОТРЫВАЯ ВНИМАНИЯ НА ЭТО так как { и } самодостаточны и не требуют выравнивания например. Жмых <tab>, жмых foreach/while/for/do/ .. , жмых { и понеслось...

2. Пишешь на ПИДОНЕ и надо выравнивать и если блок кода длинные и вложения глубокие начинается ОНАНИЗМ С ВЫРАВНИВАНИЯМИ. Ах, да а писали то код и пытались сохранить мысль и не отрывать внимания в угоду интерпретатору ПИДОНА.

Вполне возможно что у заядлых ПИДОНЕРОВ часть мозга автоматорм просчитывает выравнивания или они автоматом (превыборка) расчленают длинные блоки и просчитывают вперед чтобы не создавать глубокие вложенности. Я не умею так. Я если пишу код - то пишу код, иначе - нет.

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

> Это ваше научное вычисление после недолгого анализа пишется так:

Да за такое форматирование кода надо убивать сдеццва. Как потом это говно сопровождать?

Зато пистоний опус на две строчки короче

Тебе надо было всю программу в одну строчку написать. Тогда бы ты и по строчкам выиграл :). И память сэкономил - это круто. Особенно когда на машине 8 Гб стоит, да. Необходимость в такой скорости часто вообще ставится под сомнение. Если нет необходимости обсчитывать большие объемы данных, то скорость работы программы вообще является весьма незначительным фактором по сравнению со скоростью разработки и порогом вхождения в программирование на языке.

ЗЫЖ сам любитель С++, но для некоторых задач иногда есть более полезные/удобные инструменты.

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

откуда столько ненависти к незнакомым инструментам?

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

> расчленают длинные блоки и просчитывают вперед чтобы не создавать глубокие вложенности. Я не умею так. Я если пишу код - то пишу код, иначе - нет.

Самое первое и простое препятствие - форматирование кода, является непреодолимым для быдлокодеров. Хорошо что нерасчлененного кода длинными блоками будет меньше.

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

>ократить затратный вызов какого-нить перемножения матриц общего вида со сложностью O(n^3) на более простой алгоритм специального назначения сложности O(n)

С этого места поподробнее...со ссылочками

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

Рабочием моменты: 1. Держишь мысль и контексты течения алгоритма и пишешь себе спокойно код на Перле где надо проставляя { и } автоматом НЕ ОТРЫВАЯ ВНИМАНИЯ НА ЭТО так как { и } самодостаточны и не требуют выравнивания например. Жмых <tab>, жмых foreach/while/for/do/ .. , жмых { и понеслось...

Перл-программисты не умеют работать с редактором? Сейчас от вима до эклипса работает автовыравнивание кода и не надо никуда жмакать tab-tab-tab-tab.

Вполне возможно что у заядлых ПИДОНЕРОВ часть мозга автоматорм просчитывает выравнивания или они автоматом (превыборка) расчленают длинные блоки и просчитывают вперед чтобы не создавать глубокие вложенности.

все проще: за нас это делает редактор xD

Я не умею так.

неосилятор пишущий в текстовом редакторе не предназначенном для программирования :-P

chinarulezzz ★★
()

А можно ли его использовать в качестве шелла, запуская из под него midnight commander? В смысле, запустить его через !mc я могу, но командная строка в mc оказывается стандартной, я не могу в ней питонских текстов писать

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

>В смысле, запустить его через !mc я могу

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

Вообще не очень понимаю, зачем это может понадобиться. mc в одной консоли, ipython в другой, а зачем ipython и mc скрещивать, какой от этого профит? :)

neuron
() автор топика
Ответ на: комментарий от Deleted

> Я, конечно, не металлург...

Люто плюсую! ;)

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

По сабжу: спасибо за новость, ждем релиза.

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

1. попробуй перейти с ПИДОНА на Python. Там указанных недостатков нет.

Я если пишу код - то пишу код, иначе - нет.

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

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

> неосилятор пишущий в текстовом редакторе не предназначенном для программирования :-P

реал программерс пишут с помощью echo, cat и такой-то матери. только читеры используют ed и sed.

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

> Перл-программисты не умеют работать с редактором? Сейчас от вима до эклипса работает автовыравнивание кода и не надо никуда жмакать tab-tab-tab-tab.

Не tab-tab-tab-tab, а ОДИН tab.

неосилятор пишущий в текстовом редакторе не предназначенном для программирования :-P

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

Видите ли, уважаемый, в данном случае ваш текстовый редактор играет роль костыля, не правда ли? Или же вы так не считаете? (будет достаточным подтверждение или отрицание)

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

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

А я Вам предлагаю ососать на улице у первого встречного за $5000. Мне кажется это ваш уровень.

Достаточно ли ясна вам аналогия? (также будет достаточным подтвердить или опровергнуть ясность, но если непоняли к чему это сказано - можете не отвечать).

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

s/1. попробуй перейти с ПИДОНА на Python. Там указанных недостатков нет./Как я умный - я сообразил: «1. попробуй перейти с ПИДОНА на Python. Там указанных недостатков нет.»/

P.S.: Не попробуй а попробуйТЕ. P.P.S.: Сами пробуйте.

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

> А я Вам предлагаю ососать на улице у первого встречного за $5000. Мне кажется это ваш уровень.

Когда я приду на форум проституток, и буду жаловаться, что хочу всё то же самое, и чтобы 5000$ получить, но чтобы не отсасывать, а то я в этом смысла не понимаю - вот тогда такие аналогии и проводиТЕ.

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

А тупой пафос в сторонке оставьте. Он слишком тупой и слишком пафосный.

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

> А тупой пафос в сторонке оставьте. Он слишком тупой и слишком пафосный.

Но .. ?

Пожалуйста, завершите мысль.

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

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

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

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

Спасибо, я тоже порадовался за Вас.

P.S: s/Не умеешь/Не умеете/; s/пе позорься/не позорьтесь/ . Соблюдайте дистанцию и уж тем более не используйте быдловатые обороты вроде «бггг, ахахах, ухахаха» и быдловатого способа достижения подведения разговора к нужной позиции с использованием неподвержденных фактов и надуманных рассуждении.

P.P.S.: Кстати, я на Perl не использую вовсе (уж не занимаюсь «кодингом»). Perl упомянул потому что он тоже интерпретируемый язык и (как мне кажется) более лучшая замена ПИДОНУ чем другие. А ПИДОН кстати так и остался не нужным, даже не смотря на то что Вы успешно освоили текстовый редактор )).

Желаю успехов Вам в последующих новых минорных достижениях.

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

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

соблюдайте дистанцию

комплексуешь аноним? Уважения захотел? БГГ! УХАХА! АХХАХ! ;)

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

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

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

комплексуешь аноним? Уважения захотел? БГГ! УХАХА! АХХАХ! ;)

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

Нет смысла продолжать ветку.

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