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 reciente91,429Vistas de posts recientes
Posts recientes

Posts recientes

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

Publicado 17 feb

Улучшенные отчеты об ошибках В последнем обновлении Python 3.10 добавили более удобную и точную информацию об ошибках. Теперь выводится и природа ошибки, и ее местоположение в коде. Для ошибок, связанных с опечатками в названиях атрибутов и имен переменных в функциях, добавили рекомендации по исправлению. #updates

6,560 views

Hashtags

Publicado 14 feb

Упрощенная работа с JSON Казалось бы, куда еще проще, но есть один интересный пакет JMESpath, который позволяет декларативно указать, как извлекать элементы из документа JSON. Основные примеры использования показаны на картинке, там нет ничего сложного. Метод search принимает паттерн, по которому требуется извлечь данные, а также словарь (который в общем-то похож на JSON). Вообще возможностей у пакета достаточно, поэтому он достоен изучения и применения в проектах. Подробнее советую почитать в документации. #json#jmespath

7,260 views

Publicado 12 feb

Слабые ссылки Weakref позволяет создавать слабые ссылки к объектам, но не поддерживают объект живым, если не осталось больше сильных ссылок. Слабые ссылки нужны для организации кэшей и хеш-таблиц из тяжелых объектов, потому что в долгоживущих программах может закончится память из-за большого хранения в кэшах. #weakref

7,510 views

Hashtags

Publicado 11 feb

PyOxidizer PyOxidizer — это инструмент, позволяющий упаковать Python-проект в единый исполняемый файл, включающий интерпретатор Python, все необходимые библиотеки и ресурсы. Это позволяет запускать ваши приложения без необходимости предварительной установки Python или каких-либо зависимостей. #python

8,109 views

Hashtags

Publicado 9 feb

Использование внешних процессов в Python с помощью subprocess В мире программирования бывают моменты, когда необходимо взаимодействовать с внешними программами из кода на Python. Для этих задач отлично подходит модуль subprocess, который предоставляет удобный способ запуска внешних процессов, передачи данных им и получения результатов выполнения. Что такое subprocess? subprocess - это модуль Python, который предоставляет множество возможностей для запуска новых процессов, подключения к существующим процессам, а также обмена данными между вашим кодом и внешними программами. Пример использования subprocess: import subprocess # Простой пример: выполнение команды "ls" в командной строке result = subprocess.run(['ls', '-l'], stdout=subprocess.PIPE, text=True) # Вывод результата выполнения команды print(result.stdout) В данном примере мы использовали subprocess.run для выполнения команды "ls -l". Параметр stdout=subprocess.PIPE указывает на перенаправление вывода команды в переменную result.stdout. Параметр text=True гарантирует, что вывод будет в текстовом формате. Передача данных и получение результата: import subprocess # Передача данных в команду и получение результата input_data = "Hello, subprocess!" result = subprocess.run(['echo', input_data], stdout=subprocess.PIPE, text=True) # Вывод результата выполнения команды print(result.stdout) В данном примере мы использовали команду echo для вывода переданных данных. subprocess.run позволяет передавать данные в команду через параметр input. subprocess также предоставляет множество других функций для более сложных сценариев взаимодействия с процессами, таких как запуск процесса в фоновом режиме, обработка ошибок, а также потоковый вывод данных. #python#subprocess

6,590 views

Publicado 4 feb

Как работают арифметические операции Если кто-то еще не знает, то в Python всё является объектами: числа в том числе. И при любых операциях, включая арифметические, у объектов вызываются магические методы. Например, при сложении у объекта первого слагаемого вызывается соответствующий магический метод и в качестве аргумента передается объект второго слагаемого. Еще стоит отметить, что у float поддерживается деление с остатком, то есть метод __div__. А int имеет только деление с округлением, реализованное в методе __floordiv__. #magic

7,760 views

Hashtags

Publicado 2 feb

Классы данных Еще в Python 3.7 добавили такую мощную штуку, как классы данных. Они призваны автоматизировать генерацию кода классов, которые используются для хранения данных. Встроенный модуль dataclasses содержит декоратор @dataclass. С его использованием код будет выглядеть лаконично и коротко. Пример на картинке выше. Важно отметить, что аннотации типов обязательны. Все поля, которые не имеют отметок о типе будут проигнорированы. Конечно, если вы не хотите использовать конкретный тип, вы можете указать Any из модуля typing. В результате вы автоматически получаете класс, с реализованными методами __init__, __repr__, __str__ и __eq__. Кроме того, это будет обычный класс и вы можете наследоваться от него или добавлять произвольные методы. #dataclass

7,970 views

Hashtags

Publicado 30 ene

Итерируемый счетчик Еще один классный итератор из itertools — это count, который генерирует бесконечную последовательность чисел. В аргументах можно задать значения start и step: первый отвечает за начальное значение, а второе за шаг, как и в range. Обычно count редко используют с циклом for. Чаще можно встретить случаи с функциями типа zip или map. #itertools

8,840 views

Hashtags

Publicado 28 ene

Отлавливаем баги с assert При выполнении инструкции assert с логическим выражением, результат которого равен True, ничего не произойдет. Но если попробовать выполнить инструкцию assert с логическим выражением, которое равно False, то будет сгенерировано исключение AssertionError. Исключения AssertionError предназначены скорее для отладки. При написании программ на этапе разработки мы можем видеть, что делаем что-то не так (например, передали в метод некорректное значение). Также не нужно, к примеру, обрабатывать пользовательский ввод и пытаться обработать исключение AssertionError блоком try-except. Если в вашем коде будет очень много assert'ов, то это затронет и производительность программы. #исключения#assert

8,490 views

Publicado 27 ene

Получаем и задаем лимит рекурсии В Python не оптимизируется хвостовая рекурсия, из-за чего зачастую возникает RecursionError во время создания рекурсивных алгоритмов. Но с помощью модуля sys можно посмотреть и даже изменить максимальную глубину рекурсии. Хотя делать это слегка опасно, так как каждый новый вызов занимает много памяти. И вообще лучше стараться использовать не рекурсию, а обычные циклы, но это вы и так сами знаете. #рекурсия#лимиты

7,170 views

Publicado 25 ene

FastAPI FastAPI – фреймворк, про который однозначно стоит рассказать. Честно, синтаксис мне кажется намного приятнее, чем у других фреймворков. Интересно, что автор фреймворка глубоко изучил несколько других фреймворков, от классических, таких как Django, до более современных, таких как Sanic, а также изучил различные технологии в NestJS (веб-фреймворк Node.js, Typescript). Фреймворк имеет важную особенность – автоматическая генерация документации: как только ваши конечные точки будут реализованы, вы сможете поиграться с API, используя соответствующий стандартам пользовательский интерфейс. Поддерживаются SwaggerUI, ReDoc и другие. FastAPI построен на удивительной библиотеке Starlette, в результате чего производительность сравнима с Node.js, а в некоторых случаях даже Go! В целом, складывается стойкое предчувствие, что FastAPI будет мчаться вперёд как лучший асинхронный фреймворк для Python. #фреймворки#web

7,440 views

Publicado 23 ene

Универсальный парсер статей Пакет newspaper3k позволяет парсить статьи и извлекать из них заголовки, текст, дату публикации, имена авторов и много другой информации. Плюс пакета в том, что весь процесс парсинга автоматизирован и не надо вручную искать нужные теги и тянуть из них данные. Но точность парсера зависит в основном от того, как хорошо сверстана запрашиваемая страница. Поэтому в некоторых случаях результат может отличаться от ожиданий. #парсер#newspaper3k

7,730 views
12•••5•••10•••15•••20•••25•••30•••35•••3839404142•••45•••50•••55•••60•••65•••70•••75•••80•••8485