Код
#новости

Вышел IPython 8.0 — много улучшений и несколько новых фич

Форматирование кода в CLI, «призрачные» рекомендации, улучшенное отслеживание ошибок — всё это в новом релизе.

Мажорное обновление IPython вносит много новых фич и изменений для консоли и ядра Jupyter. Ещё разработчики убрали обратную совместимость с предыдущими версиями Python, что даёт возможность сделать код более производительным.

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

In [1]: def foo():
...:     return 3 / 0
...:

In [2]: foo()
---------------------------------------------------------------------------
ZeroDivisionError                         Traceback (most recent call last)
<ipython-input-2-c19b6d9633cf> in <module>
----> 1 foo()

<ipython-input-1-1595a74c32d5> in foo()
    1 def foo():
----> 2     return 3 / 0
    3

ZeroDivisionError: division by zero

Теперь компилятор выводит отформатированную строку с номером клетки:

In [1]: def foo():
...:     return 3 / 0
...:

Input In [2]: foo()
---------------------------------------------------------------------------
ZeroDivisionError                         Traceback (most recent call last)
input In [2], in <module>
----> 1 foo()

Input In [1], in foo()
    1 def foo():
----> 2     return 3 / 0

ZeroDivisionError: division by zero

Автодополнения позволяют пользователям быстрее набирать код с помощью сочетаний клавиш Ctrl + E, Ctrl + F или стрелки вправо.

Пример работы автодополнения. Изображение: официальная страница IPython

В IPDB с помощью ? и ?? можно показать информацию об объекте. Такую же функциональность добавили и в IPython:

ipdb> partial?
Init signature: partial(self, /, *args, **kwargs)
Docstring:
partial(func, *args, **keywords) - new function with partial application
of the given arguments and keywords.
File:           ~/.pyenv/versions/3.8.6/lib/python3.8/functools.py
Type:           type
Subclasses:

Автоформатирование Black теперь доступно в CLI. Если пакет установлен в среду разработки, консоль IPython будет по умолчанию форматировать код. Его можно отключить с помощью следующей команды:

--TerminalInteractiveShell.autoformatter=None

Разработчики IPython убрали поддержку версий Python вплоть до 3.7, чтобы позволить программистам использовать более эффективный пакет Pathlib и сделать аннотации типов лучше.

Подробнее познакомиться со всеми изменениями в IPython можно на официальном сайте.


Дмитрий Зверев

Любитель научной фантастики и технологического прогресса. Хорошо сочетает в себе заумного технаря и утончённого гуманитария. Пишет про IT и радуется этому.



Курс

Профессия Python-разработчик

На Python пишут веб-приложения и нейросети, проводят научные вычисления и автоматизируют процессы. Язык просто выучить, даже если вы никогда не программировали. На курсе вы создадите Telegram-бота, полноценный магазин и задачник для портфолио, а Центр карьеры поможет найти работу Python-разработчиком.

Узнать про курс
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована