TGTGInsightinteligencia telegramLIVE / telegram public index
Volver a canales
Python Academy avatar

TGINSIGHT CHAT

Python Academy

@python_academy

Educación

Python Academy — один канал вместо тысячи учебников Чат канала: @python_academy_chat Сотрудничество: @zubar89 Канал включён в перечень РКН: https://rkn.link/TVu

Suscriptores4.5万Suscriptores actuales
Posts rastreados1,014Posts indexados
Alcance reciente89,540Vistas de posts recientes
Posts recientes

Posts recientes

Pág. 45 de 85 · 1,014 posts

Publicado 19 nov

Красивый вывод таблиц Недавно нам понадобилось логировать часть базы данных. И тут мы вспомнили про прекрасный модуль prettytable, который позволяет красиво выводить таблицы. Итак, имена столбцов задается с помощью атрибута table.field_names. А добавлять строки с данными в таблицу можно методом table.add_row([]), передавая туда список элементов. Но даже если вы не фанат командной строки, то иногда нужно сохранить отчет о работе вашей программы в текстовый файл. В таком случае можно сохранить саму таблицу, вызвав метод table.get_string(). #трюки#prettytable

7,300 views

Publicado 17 nov

Важное про цифры и Юникод 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 — не единственные символы, которые считаются цифрами. Python следует правилам Юникода и обрабатывает несколько сотен символов как цифры. Полный список находится здесь. Это крайне важно знать, потому что эти символы влияют на такие функции, как int, unicode.isdecimal и даже re.match. Думаю, в один момент это знание сэкономит вам время на исправление "бага" с такими странными символами. Предупрежден — значит вооружен. #числа#юникод

7,660 views

Publicado 15 nov

Разница между == и is Многие разработчики не понимают разницу этих двух операторов сравнения. Из-за неправильного использования == и is в приложениях могут возникнуть странные ошибки. Оператор == проверяет равенство значений двух объектов. А оператор is проверяет идентичность самих объектов. Его используют, чтобы удостовериться, что переменные указывают на один и тот же объект в памяти. Но Python в целях производительности кеширует малые числа и короткие строки, поэтому возможны некоторые казусы, как в примере выше. #тонкости

7,500 views

Publicado 15 nov

В Центральном университете начался набор на программу бакалавриата 2025 года. Для будущих студентов вуза стартовал конкурс на получение грантов. Ими можно будет оплатить до 100% обучения. Принять участие могут старшеклассники и учащиеся старших курсов колледжей. Проходить конкурс будет ежемесячно до августа 2025 года. Конкурс проводится в онлайн и офлайн-форматах и состоит из двух этапов. Базовые знания математики, логики и аналитического мышления проверяются онлайн, а в бизнес-игре оцениваются гибкие навыки, в том числе мотивация, коммуникативные и лидерские качества. В рамках набора абитуриенты поучаствуют в собственных мероприятиях Центрального университета - ИТ-буткемпах и хакатонах, где смогут проявить полученные знания и навыки. Для лучшего понимания возможного карьерного пути состоятся экскурсии в офисы ведущих высокотехнологичных компаний России, например, Т-Банк, VK и Авито.

6,390 views

Publicado 15 nov

Используйте dict.get() вместо dict[] Есть несколько способов получения значений из словарей, и даже по такой теме разработчики часто спорят. Многие получают значения по ключам через квадратные скобки, но если такого ключа нет, то будет вызвано исключение. Поэтому мы считаем, что лучше использовать метод get у словарей. Его основной плюс заключается в том, что он принимает опциональный аргумент, отвечающий за значение по умолчанию. Таким образом, если значение по ключу не найдено, то вернется дефолтное значение. В итоге, мы убираем возможные ошибки в случае, если нужных ключей в словаре нет. #python#dict

6,480 views

Hashtags

Publicado 12 nov

Ruff Ruff — Чрезвычайно быстрый линтер и форматер кода на Python, написанный на Rust. Основным преимуществомRuff является его скорость. Ruff в 10-100 раз быстрее аналогов. В сравнении с flake8, автор заявляет о практически полномсовпадении с набором правил инструмента и нативной реализацией популярныхплагинов (flake8-bugbear и т.д.). Также Ruff совместим с Black «из коробки». Ruff может форматировать код. Например, он автоматически удаляет неиспользуемые импорты. Что касается сортировки и группировки строк импорта, то она практическиидентичнаisort. #python#ruff

7,400 views

Hashtags

Publicado 8 nov

Получаем календарь В модуле calendar есть функция month(), которая вернет календарь указанного месяца в виде строки, как показано в примере. А функция calendar() выдаст целый год. Если строки строки не устраивают, то в модуле есть много методов для получения самых разных итераторов. А еще там можно даже получить календарь в виде HTML. Кстати, модуль является встроенным, отдельно его устанавливать не нужно. #calendar

8,060 views

Hashtags

Publicado 6 nov

Прогресс выполнения программы Индикаторы прогресса добавляют наглядности в скриптах, которые исполняют какие-то функции, требующие времени для выполнения. Модуль tqdm является простым и лаконичным вариантом. Привычный range можно заменить на trange для визуализации прогресса. А для итерации по какой-либо последовательности, достаточно просто передать её в функцию tqdm. Также модуль хорошо себя зарекомендовал и в Jupyter Notebook. Кстати, интересный факт – название tqdm произошло от арабского слова "taqaddum" (تقدّم), которое означает "прогресс," а также это ещё и сокращение от "я тебя сильно люблю" на испанском (te quiero demasiado). #модули#tqdm

8,060 views

Publicado 4 nov

Создаем контекстный менеджер с помощью декоратора Обычно протокол управления контекстом реализовывают с помощью класса и двух магических методов: __enter__ и __exit__. Но такой подход может показаться слегка сложным. Так вот, помимо написания своего класса, есть еще один способ создать контекстный менеджер — использовать декоратор @contextmanager из встроенного пакета contextlib. Первая часть функции tag, которая идёт до yield, выполняется при входе в блок with. Затем исполняется сам этот блок, а после этого завершается оставшаяся часть, которая идет после yield. #contextlib

8,100 views

Hashtags

Publicado 2 nov

Порядок разрешения методов В Python существует так называемый Method Resolution Order (MRO), или порядок разрешения методов в классе. Всё, что вам нужно знать – это порядок, в котором Python ищет нужный атрибут или метод. Этот порядок можно получить при помощи атрибута __mro__. Он говорит о том, что если мы в примере выше попробуем обратиться к атрибуту value, Python будет искать сначала в классе A, далее в B, затем в Cи в самом конце в object. Отсюда становится понятно, что артибут первее будет найден именно в классе B и равен он будет значению 1. #классы

7,260 views

Publicado 31 oct

Разделители для целых чисел Трудно визуально различить целые числа подобные 10000000 и 100000000. Использовать запятые, как в английском языке, не получится. Но Python позволяет использовать нижнее подчеркивание как разделитель для улучшения читабельности. Например, 1_000_000 будет интерпретироваться как целое число 1000000. #числа

7,390 views

Hashtags

Publicado 29 oct

Удобная работа с файловыми путями В стандартной библиотеке есть максимально удобный пакет pathlib, позволяющий осуществлять различную работу с файловыми путями. Для представления пути к файлу есть класс Path, с объектами которого уже можно производить операции. Например, методы exists() и is_dir() проверяют, существует ли файл и является ли он директорией. Но самой классной фичей является замена os.path.join() на более удобный и элегантный вариант с использованием слэшей, как показано на картинке. Таким образом, пакет pathlib может стать частичной заменой os в некоторых случаях при работе с файловыми путями. #pathlib

7,940 views

Hashtags

12•••5•••10•••15•••20•••25•••30•••35•••40•••4344454647•••50•••55•••60•••65•••70•••75•••80•••8485