gram news
Аватар канала Python Academy

Python Academy

@python_academy

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

44,400подписчиков

Открыть канал

Последние посты

  • Python Academy

    23 сент., 06:11

    Возврат нескольких значений из функцииЗнаете ли вы, что можно осуществлять возврат нескольких значений из функции? Вот как это сделать. Ознакомьтесь с приведенным выше примером кода.#python
    Иллюстрация к посту канала Python AcademyИллюстрация к посту канала Python Academy
  • Python Academy

    22 сент., 06:12

    Получение срезов итераторовЕсли вы попытаетесь получить срез итератора, то столкнётесь с ошибкой TypeError, сообщающей о том, что на объект-генератор нельзя оформить подписку. Однако эта проблема поддаётся решению (см картинку).Воспользовавшись методом itertools.islice, можно создать объект islice, который представляет собой итератор, выдающий нужные элементы. Однако здесь важно отметить то, что эта конструкция использует все элементы генератора вплоть до начала среза и все элементы в объекте islice.#python
    Иллюстрация к посту канала Python AcademyИллюстрация к посту канала Python Academy
  • Python Academy

    21 сент., 06:51

    ХэшированиеХэш — это целое число фиксированного размера, которое идентифицирует определенное значение. Каждое уникальное значение должно иметь свой собственный хэш.Для хэширования значений есть встроенная функция hash(). Используется она в основном для сравнения значений разных объектов — сравнивать хэши легче и выгоднее.Но изменяемые объекты по типу списков и словарей нельзя хэшировать — интерпретатор выбросит соответствующую ошибку.Здесь, кстати, есть две пасхалки. Хэш бесконечности равен перым цифрам числа Пи, а хэш Not a Number равен нулю.А еще случаются коллизии: например, хэши чисел -1 и -2 одинаковы.#hash
    Иллюстрация к посту канала Python AcademyИллюстрация к посту канала Python Academy
  • Python Academy

    20 сент., 06:12

    Понимание различий между операторами сравнения == и isМножество разработчиков сталкиваются с трудностями в отличии двух операторов сравнения: == и is, что может привести к неожиданным ошибкам в коде.Оператор == сравнивает значения двух объектов, чтобы определить их равенство. В отличие от него, оператор is проверяет, ссылаются ли две переменные на один и тот же объект в памяти, тем самым проверяя их идентичность.В Python из соображений эффективности происходит кэширование небольших чисел и коротких строк, что может привести к путанице и неочевидным результатам при использовании этих операторов.#python
    Иллюстрация к посту канала Python AcademyИллюстрация к посту канала Python Academy
  • Python Academy

    19 сент., 20:32

    Быстрый dequedeque предпочтительнее, чем обычный список, когда нужны более быстрые операции добавления и вытаскивания элементов с начала и конца контейнера.deque обеспечивает линейную сложность O(1) для операций добавления и выталкивания, у стандартного списка сложность по этим операциям O(n).Для deque есть возможность использовать стандартные функции — sum, min, max и другие.
    Иллюстрация к посту канала Python AcademyИллюстрация к посту канала Python Academy
  • Python Academy

    19 сент., 10:32

    ⁠Упаковка параметров с помощью urlencodeДовольно часто приходится работать с разнообразными API и совершать get-запросы с передачей множества параметров. Чаще всего составление запроса в коде выглядит примерно так:url = 'https://example.com?item={}&size={}&color={}&amount={}'.format('t-shirt', 'M', 'white', 5)Смотрится не слишком презентабельно, однако есть слегка более длинный, но значительно улучающий читаемость кода вариант – функция urlencode из модуля urllib.#трюки #urllib
    Иллюстрация к посту канала Python AcademyИллюстрация к посту канала Python Academy
  • Python Academy

    18 сент., 05:22

    Поиск уникальных слов в текстовом файле в PythonЧтобы найти уникальные слова в текстовом файле в Python, необходимо очистить текст, найти слова, а затем найти уникальные.Подробнее можно почитать здесь.
    Иллюстрация к посту канала Python AcademyИллюстрация к посту канала Python Academy
  • Python Academy

    17 сент., 05:02

    Добавляем классу большую функциональностьНа прошлой неделе мы объясняли декоратор @classmethod, а сейчас рассмотрим @staticmethod.@staticmethod можно воспринимать как метод, который "не знает, к какому классу относится". Он просто получает переданные аргументы, без неявного первого аргумента, и его определение не изменяется через наследование. Еще раз: статические методы прикреплены к классу лишь для удобства — и не могут менять состояние ни класса, ни его экземпляра.Зачем использовать. Статические методы делают код более читабельным и повторно используемым. Его также удобнее использовать для импорта по сравнению с обычными функциями, поскольку функцию не нужно отдельно импортировать.В чем же разница? @classmethod используется в суперклассе для определения того, как метод должен вести себя, когда он вызывается разными дочерними классами. @staticmethod используется, когда мы
    Иллюстрация к посту канала Python AcademyИллюстрация к посту канала Python Academy
  • Python Academy

    16 сент., 06:11

    Делаем ошибки более читаемымиВ Python есть удобный модуль pretty_errors, который делает стандартный вывод исключений и их traceback более удобным для чтения.Для того, чтобы он заработал, достаточно импортировать его в ваш код.Вывод ошибок в вашей программе будет выглядеть более читаемым. Более того, разные части вывода будут помечаться разным цветом вместо монотонного серого цвета.Также модуль можно модифицировать, указав параметры в конфиге. Подробнее можете почитать в документации модуля.
    Иллюстрация к посту канала Python AcademyИллюстрация к посту канала Python Academy
  • Python Academy

    15 сент., 05:14

    Обрабатываем естественный языкTextBlob — удобный пакет для обработки текста. Он предоставляет простой API для погружения в общие задачи обработки естественного языка (NLP), такие как анализ тональности, пометку частей речи, перевод и многое другое.Здесь особенно круто, что к объектам класса TextBlob можно применять методы строк (upper, split, format и т. д.) и в целом обращаться с ними как с обычными строками.Документация находится здесь, но некоторые примеры есть и на картинке выше. Еще важно, что несколько функций, например translate(), требуют подключения к интернету.#textblob
    Иллюстрация к посту канала Python AcademyИллюстрация к посту канала Python Academy
  • Python Academy

    14 сент., 06:27

    spotDL: Автоматизация загрузки музыки из SpotifyБиблиотека spotDL - это мощный инструмент для автоматизации процесса загрузки музыки из Spotify. Если вы ищете способ легко и быстро получить аудиотреки с этой популярной стриминговой платформы, то spotDL может стать вашим идеальным партнером.Установка spotDL также проста и выполняется через pip. Эта библиотека предоставляет удобные средства для поиска и загрузки музыки из Spotify. Она работает асинхронно и поддерживает асинхронный синтаксис с помощью async/await, что делает ее отличным инструментом для современных приложений, где требуется автоматизированный доступ к аудиоконтенту.spotDL позволяет выполнять поиск треков, альбомов или плейлистов по запросам и загружать их на ваше устройство. Он также предоставляет возможность выбора желаемого качества аудио и множество других опций для настройки загрузки.Библиотека spotDL не только
    Иллюстрация к посту канала Python AcademyИллюстрация к посту канала Python Academy
  • Python Academy

    13 сент., 05:55

    BeautifulSoup 4: Инструмент для разбора HTMLБиблиотека BeautifulSoup, часто называемая bs4, - инструмент для разбора и анализа HTML и XML документов в Python. Если вы работаете с веб-страницами и вам нужно извлечь информацию из HTML-кода, bs4 отлично подойдет для этого.Установка bs4 также проста и выполняется через pip. С bs4 вы можете легко извлекать данные из HTML, навигировать по документу, находить и извлекать теги и их атрибуты. Это делает bs4 идеальным инструментом для веб-скрапинга, анализа веб-страниц, извлечения данных и многих других задач.
    Иллюстрация к посту канала Python AcademyИллюстрация к посту канала Python Academy
  • Python Academy

    12 сент., 06:22

    Прочитать произвольную строку из файлаПредположим, вы решили разработать чат-бота. В нем конечно же будет с десяток самых крутых и полезных функций, может быть даже в нем будет модные нынче нейросети.И конечно же не обошлось без приветствия, вы специально заготовили несколько различных вариантов в файле text.txt:Приветствую! Здравствуйте! Ку, здарова. Добрый день! Привет!Чтобы вывести это на экран, может помочь функция getline из модуля linecache. В чем главное отличие этой функции от обычного метода чтения из файла? Функция getline кеширует все строчки файла в списке, так что следующие вызовы get_answer отработают моментально.#linecache #file
    Иллюстрация к посту канала Python AcademyИллюстрация к посту канала Python Academy
  • Python Academy

    11 сент., 06:56

    Вычисление выражений PythonВы наверняка знакомы с eval, но знаете ли вы о literal_eval? Вряд ли. Для безопасного исполнения выражений, содержащих исключительно литералы, вы можете делать так, как показано на картинке выше.Между прочим, данная фича находится в языке уже очень давно.#tips #eval
    Иллюстрация к посту канала Python AcademyИллюстрация к посту канала Python Academy
    2,130211Открыть в Telegram
  • Python Academy

    10 сент., 06:55

    Peewee: Легкая и мощная ORM библиотека для работы с базами данных на PythonPeewee - это небольшая и высокоэффективная ORM (Object-Relational Mapping) библиотека на Python, которая облегчает взаимодействие с базами данных и управление данными в ваших приложениях. Она предоставляет удобные средства для создания, чтения, обновления и удаления данных в базе данных, что делает работу с БД более интуитивной и удобной.Для начала работы с Peewee, вы можете установить библиотеку с помощью pip. Затем вы можете определить модели данных и их отношения, а Peewee автоматически создаст соответствующую структуру в вашей базе данных. Peewee поддерживает различные типы баз данных, включая SQLite, MySQL, PostgreSQL и другие.Одной из ключевых особенностей Peewee является его простота использования и понятный синтаксис. Вы можете выполнять запросы к данным с минимальными усилиями, а также выполнять
    Иллюстрация к посту канала Python AcademyИллюстрация к посту канала Python Academy
  • Python Academy

    9 сент., 06:55

    RabbitMQ: Брокерская система сообщений для асинхронной обработки данныхRabbitMQ - это мощная и надежная брокерская система сообщений, которая предназначена для обеспечения асинхронного обмена данными между различными компонентами вашего приложения. Эта брокерская система стала широко используемой в индустрии благодаря своей производительности, надежности и гибкости.Для взаимодействия с RabbitMQ на языке программирования Python часто используется библиотека pika. Pika предоставляет удобный интерфейс для работы с RabbitMQ, позволяя отправлять и принимать сообщения в очереди.Ключевые характеристики RabbitMQ:1. Асинхронность: RabbitMQ предоставляет механизм асинхронной обработки сообщений. Это позволяет разным частям вашего приложения обмениваться данными, не блокируя друг друга.2. Маршрутизация: RabbitMQ обеспечивает гибкую маршрутизацию сообщений с использованием обменников
    Иллюстрация к посту канала Python AcademyИллюстрация к посту канала Python Academy
  • Python Academy

    8 сент., 06:22

    Генерация QR кодовСегодня покажем создание QR кодов. Для этого нам понадобится модуль qrcode, который используется для создания изображений с QR кодом.Все максимально просто, за нас по сути все делает уже написанный модуль.Выше на картинке мы сделали простую функцию generate, которая принимает какую-то информацию и название файла, в который нужно сохранить результат в виде QR кода.За создание картинки отвечает метод qrcode.make, который возвращает нам изображение в формате PIL.Image, а после этого мы его сохраняем в нужном нам файле.Получившийся QR код можете посмотреть тут.#qrcode #pillow
    Иллюстрация к посту канала Python AcademyИллюстрация к посту канала Python Academy
    2,190321Открыть в Telegram
  • Python Academy

    7 сент., 06:55

    Как работают статические методыСтатические методы создаются в классе при помощи декоратора @staticmethod. Такие методы привязаны к классу, а не объекту — в этом и есть основное отличие.Такой тип методов не может модифицировать ни объект, ни сам класс. То есть передавать объект или класс и прописывать self или cls в аргументах не нужно.Обычную функцию стоит вносить в класс в качестве статического метода в том случае, когда эта функция логически относится к классу и имеет смысл там быть.#ооп
    Иллюстрация к посту канала Python AcademyИллюстрация к посту канала Python Academy
  • Python Academy

    6 сент., 06:55

    ⁠Упаковка параметров с помощью urlencodeДовольно часто приходится работать с разнообразными API и совершать get-запросы с передачей множества параметров. Чаще всего составление запроса в коде выглядит примерно так:url = 'https://example.com?item={}&size={}&color={}&amount={}'.format('t-shirt', 'M', 'white', 5)Смотрится не слишком презентабельно, однако есть слегка более длинный, но значительно улучающий читаемость кода вариант – функция urlencode из модуля urllib.#трюки #urllib
    Иллюстрация к посту канала Python AcademyИллюстрация к посту канала Python Academy
  • Python Academy

    5 сент., 06:18

    Мощная декларативная библиотека для работы с датой и временемБольшинство разработчиков знают про модуль datetime из стандартной библиотеки - достаточно хороший инструмент для работы с временем. Но не лишним будет узнать про его мощное расширение - dateutil.dateutil позволяет писать краткий и декларативный код для решения задач по взаимодействию с датой и временем.На скриншоте показано получение первого дня прошлого месяца с помощью dateutil и без.Примечательно то, что dateutil позиционируется как расширение для datetime, что значит, что они друг с другом совместимы.
    Иллюстрация к посту канала Python AcademyИллюстрация к посту канала Python Academy
    2,370211Открыть в Telegram