Обложка канала

🐍 Укус питона | A byte of python 🐍

🐍 Канал о программировании на языке Python. Тематические уроки и лайфхаки.

  • 🐍 Укус питона | A byte of python 🐍

    🙃Укус питона мигрирует в новый канал! Друзья, вынуждены сообщить, что по некоторым обстоятельствам нам нужно переехать в новый канал! Оставайтесь с нами и продолжайте получать лучшие материалы для изучения Python.
  • 🐍 Укус питона | A byte of python 🐍

    🙃Укус питона мигрирует в новый канал! Друзья, вынуждены сообщить, что по некоторым обстоятельствам нам нужно переехать в новый канал! Оставайтесь с нами и продолжайте получать лучшие материалы для изучения Python.
  • 🐍 Укус питона | A byte of python 🐍

    🙃Укус питона мигрирует в новый канал! Друзья, вынуждены сообщить, что по некоторым обстоятельствам нам нужно переехать в новый канал! Оставайтесь с нами и продолжайте получать лучшие материалы для изучения Python.
  • Реклама

  • 🐍 Укус питона | A byte of python 🐍

    🙃Укус питона мигрирует в новый канал! Друзья, вынуждены сообщить, что по некоторым обстоятельствам нам нужно переехать в новый канал! Оставайтесь с нами и продолжайте получать лучшие материалы для изучения Python.
  • 🐍 Укус питона | A byte of python 🐍

    🙃Укус питона мигрирует в новый канал! Друзья, вынуждены сообщить, что по некоторым обстоятельствам нам нужно переехать в новый канал! Оставайтесь с нами и продолжайте получать лучшие материалы для изучения Python.
  • 🐍 Укус питона | A byte of python 🐍

    ⚡️ Пройди обучающий курс по Python и окупи обучение уже с первых зарплат⚡️ 👉🏻 Работая с нами, ты получишь: 1️⃣ Такие навыки, что найдешь работу лучше и более высокооплачиваемую, чем сейчас. Найдем пробелы, улучшим умения и знания для твоего быстрого роста. 2️⃣ Гарантия трудоустройства‼️ Оформим резюме, дадим обратную связь по каждому пройденному собеседованию до успешного завершения поиска. Если не получится трудоустроиться - вернем деньги. 3️⃣ Пробный период. Если не понравилось - вернем деньги. 4️⃣ Код-ревью, обучение на практике, только необходимые знания. Нет лишней теории. Не заучиваем то, что можно найти в Google за 5 минут, а учим, как правильно мыслить (архитектурно и логически). Фидбэк в формате код-ревью по ДЗ и практическим проектам дадут опытные наставники, это позволит эффективно перенять опыт. ‼️ Автор сам прошёл путь от стажера за 25 т.р. до старшего разработчика с окладом 300 т.р., и расскажет, как пройти его, опираясь на этот опыт. Пиши “Python” в ЛС @nikolay_kovalenko_91, и мы разберем твою текущую ситуацию, расскажем, каких результатов ты сможешь достичь, и дадим первые рекомендации!
  • 🐍 Укус питона | A byte of python 🐍

    Разработка Telegram ботов: Reply кнопки Продолжаем серию постов по разработке Telegram ботов, по просьбам наших подписчиков, мы переходим на библиотеку aiogram. Прошлый пост был также переписан под aiogram. В этом посте мы разберём как создавать и обрабатывать reply кнопки. Их вы видите сразу под строкой ввода сообщения. Чтоб создать кнопки, надо вначале создать объект клавиатуры - types.ReplyKeyboardMarkup(), она принимает на вход аргументы: resize_keyboard - булевый тип, подгоняет высоту клавиатуры до минимума и one_time_keyboard - булевый тип, скрывает клавиатуру после нажатия на её кнопку. Для удобства работы в будущем, сделаем функцию send_main_keyboard() которая будет принимать на вход текст сообщения и отправлять главную клавиатуру с ней Чтоб добавить кнопку в клавиатуру, воспользуемся методом keyboard.add(), передав в него текст кнопки. Кнопки можно размещать в один ряд, для этого нужно передать их текста, через запятую. При нажатии на reply кнопку, Telegram отправляет её текст как обычное сообщение, поэтому нажатия на неё обрабатываем в обработчике сообщений. Как этот бот выглядит со стороны пользователя можно увидеть на экране телефона в обложке этого поста. В следующих постах, мы реализуем процесс жалобы, а пока можете писать в чате, что вы хотите видеть дальше.
  • 🐍 Укус питона | A byte of python 🐍

    Разработка Telegram ботов: Базовый шаблон В настоящее время Telegram активно набирает обороты, а специалисты по разработке чат-ботов становятся востребованы на рынке фриланса. В связи с этим мы подготовили небольшую серию постов по разработке Telegram ботов на Python + pyTelegramBotAPI. Для начала, нам необходимо зарегистрировать нового бота, для этого нужно написать отцу ботов и заполнить поля которые он спросит (там же можно задать описание, имя, @юзернейм и аватарку). В ответ на заполненную информацию, он пришлёт телеграм бот токен, его необходимо сохранить, т.к это ключ для авторизации бота и взаимодействия с ним. Для примера, мы подготовили базовый шаблон, который можно использовать при написании своего бота. Он содержит обработчики команд и текстовых сообщений. Для начала работы необходимо установить библиотеку pyTelegramBotAPI (pip install pyTelegramBotAPI, не путать с библиотекой telebot!) и создать объект бота, передав в него токен, который мы получили. Вызвав функцию bot.polling(), скрипт начинает постоянно запрашивать обновления на серверах Telegram-а и при их наличии, вызывает необходимый обработчик, передав в него объект message, который содержит в себе подробную информацию о полученном сообщении. В нашем примере, для удобства работы мы сразу записываем основную информацию в переменные user_id (уникальный id пользователя в Telegram), username (уникальный логин пользователя) и text (текст сообщения) и сразу выводим их в консоль вместе с временем получения сообщения. Далее в примере, мы проверяем присутствует ли сообщение в заготовленных списках и отвечаем по необходимости пользователю с помощью функции bot.send_message(), которая принимает на вход id пользователя и текст сообщения. Как этот бот выглядит со стороны пользователя можно увидеть на экране телефона в обложке этого поста. В следующих постах, мы рассмотрим сценарии и ветки сообщений, а пока можете задавать вопросы в чате ниже.
  • 🐍 Укус питона | A byte of python 🐍

    Функция filter Функция filter фильтрует элементы итерируемого объекта по заданной функции. Проще говоря, фильтр сохраняет те элементы, для которых функция вернула True. Функция принимает на вход функцию и итерируемый объект. В примере мы создали функцию is_even которая проверяет число на четность, далее передав функцию в фильтр, мы проверяем список чисел и сохраняем только четные цифры. #теория #фильтр #filter
  • 🐍 Укус питона | A byte of python 🐍

    Основы парсинга. Парсим habr. Парсинг - автоматизированный сбор и структуризация данных в нужном виде. Обычно его используют для быстрого наполнения своих сайтов и каналов контентом или анализа конкурентов. В этом посте мы спарсим статьи с главной страницы хабра. Для парсинга понадобятся две библиотеки: requests - для http запроса к сайту и beautifulsoup4 - для удобной навигации по html документу. Установить их можно, прописав pip install requests и pip install beautifulsoup4 соответственно. Далее с помощью метода requests.get получаем главную страницу хабра и передаём её в объект beautifulsoup. Библиотека beautifulsoup позволяет нам с помощью метода select получить список объектов по css-селектору. Подсматриваем нужные нам селекторы в инспекторе кода браузера и начинаем парсинг. В начале получаем список всех статей. Далее в цикле, также с помощью метода select вытаскиваем нужные нам поля, например название и ссылку. Метод select всегда возвращает список объектов, поэтому если нам нужен только один объект, всегда нужно указать его индекс, например articles[0]. У каждого объекта есть поля и атрибуты, например поле text содержит весь текст в объекте, а в словаре attrs хранятся все атрибуты объекта. #гайды #библиотеки #парсинг #habr
  • 🐍 Укус питона | A byte of python 🐍

    Лямбда функции Лямбда функции позволяют задать функцию анонимно, т.е без имени. Она возвращает функцию, которая присваивается, нужной нам, переменной. Лямбды имеют очень простой синтаксис: lambda аргументы: выражение, поэтому часто их используют когда нужны безымянные функции на небольшой промежуток времени. В первом примере, наша функция принимает на вход число и возвращает его квадрат. В следующем примере мы готовим приветствие: для пользователя: функция greetings принимает на вход имя и возвращает приветствие с этим именем. В последнем примере мы проверяем число на нечётность. #теория #функции #лямбды
  • 🐍 Укус питона | A byte of python 🐍

    Преобразование типов Процесс преобразования значения переменной одного типа данных (целые числа, строки и т. д.) в другой называется преобразованием типа. Как и во многих других языках программирования преобразование бывает двух типов. При неявном преобразовании типов, язык сам преобразует один тип данных в другой. Этот процесс не требует нашего участия. В первом примере мы складываем целое число с дробным. В данный момент, язык приводит оба типа к самому сложному из них, т.е к дробному, в результате в ответе мы получаем дробное число. При явном преобразовании программист сам меняет тип данных, на требуемый, явно указывая тип с помощью функций str, int и float. Во втором примере мы преобразовываем строку в число с помощью функции int. #типы_данных #строки #числа
  • 🐍 Укус питона | A byte of python 🐍

    Канал, который прокачает ваши навыки в разработке на Python и Data Science! Создатели классного IT-сообщества по подписке из Сколково открыто делятся знаниями на своём новом канале. Вас ждут: 🚀Еженедельные дайджесты лучших материалов 🚀Крутые разборы тем от куратора курсов по Python 🚀Прямые эфиры про IT и трудоустройство. Спикеры – эксперты с опытом от 10 лет в разработке и аналитике. Подписывайтесь и погружайтесь в теорию и практику DS! Отметим первую тысячу подписчиков бесплатным мастер-классом по чат-ботам. https://t.me/brainsk
  • 🐍 Укус питона | A byte of python 🐍

    Функция split Метод split используется для разбиения строк на подстроки по разделителю. Функция принимает два необязательных параметра, разделитель и максимальное количество разбиений. В первом примере, мы не указываем разделитель и метод разделяет строку по умолчанию, по символу пробела. Далее, мы указываем разделитель ";" и строка разделяется по этому символу. В последнем примере мы указывает вторым параметром в качестве количества разбиений пятерку и строка разбивается на 5 подстрок + оставшиеся элементы. #теория #строки #методы
  • 🐍 Укус питона | A byte of python 🐍

    Операторы break и continue Оператор break применяется для прерывания текущей итерации цикла. В первом примере цикл прерывается на шестой итерации. Оператор continue прерывает текущую итерацию без остановки всего цикла. Во втором примере, шестая итерация прерывается до вывода числа в консоль и начинается седьмая. #теория #циклы #break #continue
  • Реклама

  • 🐍 Укус питона | A byte of python 🐍

    Срезы строк Строки в python представляются как упорядоченный набор символов, это означает что у каждого символа есть свой индекс - порядковый номер по которому мы можем его получить. Часто требуется получить не конкретный символ, а несколько. Для этого в язык добавили срезы. Чтоб срезать строку надо указать в квадратных скобках начальный и конечный индексы. В первом примере мы срезаем строку до 5-ого символа. Во втором примере со второго и до пятого. Также возможно указывать индекс с конца и шаг. В третьем примере мы срезаем строку до 2-ого символа с конца. В следующем примере мы срезаем каждый второй символ, указав через второе двоеточие нужный шаг. #теория #строки #срезы
  • 🐍 Укус питона | A byte of python 🐍

    Сборка python скрипта в исполняемый файл Pyinstaller собирает python-приложение и все зависимости в один пакет. Пользователь может запускать приложение без установки интерпретатора python или каких-либо модулей. Устанавливается pyinstaller как и любая другая библиотека - pip install pyinstaller. Чтоб собрать исполняемый файл нужно запустить команду pyinstaller --one-file main.py, по умолчанию файл собирается с консолью, чтоб отключить её нужно при сборке проекта дописать параметр --no-cosole. #гайды
  • 🐍 Укус питона | A byte of python 🐍

    Копирование объектов В опросе выше ~ 78% процентов ответило неправильно, теперь объясним почему. В этом посте мы рассмотрим определение глубокого и поверхностного копирования, а также их реализации на языке Python. В первом примере мы копируем объект лишь поверхностно, при таком копировании дочерние элементы не копируются в новый объект, оно просто копирует ссылки на их адреса памяти. Следовательно, при изменении нового объекта, изменяется и старый. Во втором примере с помощью функции copy, мы делаем глубокое копирование, копируем сам объект и все его дочерние элементы в новые ячейки памяти, поэтому изменения на старом объекте не отражаются. #теория #копирование