🐍 Укус питона 🐍
2.49K subscribers
1.05K photos
23 videos
285 links
🐍 Канал о программировании на языке Python. Тематические уроки и лайфхаки.

👽 Админ - @it_dashka
🔊 Купить рекламу: https://telega.in/c/byteofpython

👉 Чат: @abyteofpython
👉 Поделиться с друзьями: @byteofpython
Download Telegram
Работа со временем в Python

Python содержит в себе много инструментов для работы с датой и временем, самый популярный это встроенный модуль datetime

Объект datetime.datetime содержит в себе информацию о времени и дате, с помощью функции now(), можно получить объект текущей даты.

Объект datetime.timedelta это разница между двумя временными отметками, иными словами длительность времени. На примере выше, мы увеличиваем с помощью экземпляра объекта timedelta текущее время на час.

#гайды #дата #время

Подробнее...
👍111
Получаем информацию с wikipedia

Для работы с википедией есть официальная удобная библиотека, так как она не входит в предустанавливаемые пакеты python, её требуется установить отдельно. С помощью пакетного менеджера pip (pip install wikipedia).

Для установки языка можно передать код языка в метод set_lang.

В первом примере, используя метод search, мы получаем список заголовков статей по ключевому слову. Также можно получить её краткое резюме с помощью метода summary.

Объект всей страницы можно получить передав название статьи в метод page, а её текст получив объект content внутри объекта страницы.

#гайды #библиотеки #wikipedia

Подробнее...
👍10
Тип данных - список (list)

Списки в python это упорядоченные изменяемые наборы объектов, пронумерованных от 0. Списки могут содержать в себе объекты любого типа данных (по отдельности и вместе), или не содержать ничего.

Список можно создать с помощью ключевого слова list или просто перечислив объекты в квадратных скобках.

Во втором примере мы создали список, проитерировшись по другому объекту - строке.

Списки могут содержать в себе любое количество объектов, получить нужный можно с помощью индекса (его порядкового номера начиная с нуля).

#теория #список #list #типы_данных

Подробнее...
👍9😁1
Комикс в Python

Одна из самых популярных и забавных пасхалок в python - библиотека antigravity. Взглянуть на неё можно импортировав в код библиотеку antigravity (import antigravity). Команда открывает в браузере комикс XKCD, в котором упоминается Python.

#пасхалки
👍5
Работа с функциями и процедурами

Функции в языке Python представляют собой объекты, принимающие и возвращающие некие значения. Процедура в отличие от функций ничего не возвращают. Определяются они с помощью ключевого слова def

В первом примере мы реализовали процедуру, которая принимает на вход имя пользователя и приветствует пользователя в консоли

Во втором случае мы реализовали функцию возведения в степень, она принимает на вход число и необходимую степень. Инструкция return говорит, что нужно вернуть значение, в нашем случае это получившиеся число.

#теория #функции #процедуры

Подробнее...
👍7
Цветной вывод в консоли

Colorama - самая популярная библиотека для цветного вывода в консоль. Благодаря ей, не нужно запоминать ANSI коды, ведь они вшиты в библиотеку

Для начала работы с библиотекой необходимо её установить (pip install colorama), импортировать (import colorama) и инициализировать с помощью метода init()

С помощью библиотеки можно менять цвета, фон и стиль текста. В первом примере с помощью склеивания строки с объектом цвета Fore.GREEN мы перекрасили строку в зеленый цвет. Также можно склеивать сразу несколько объектов, например добавить цвет фона на белый с помощью объекта Back.WHITE

#гайды #консоль #цветной_вывод

Подробнее...
👍6
Разработка Telegram ботов: Базовый шаблон

В настоящее время Telegram активно набирает обороты, а специалисты по разработке чат-ботов становятся востребованы на рынке фриланса. В связи с этим мы подготовили небольшую серию постов по разработке Telegram ботов на Python + aiogram.

Для начала, нам необходимо зарегистрировать нового бота, для этого нужно написать отцу ботов и заполнить поля которые он спросит (там же можно задать описание, имя, @юзернейм и аватарку). В ответ на заполненную информацию, он пришлёт телеграм бот токен, его необходимо сохранить, т.к это ключ для авторизации бота и взаимодействия с ним.

Для примера, мы подготовили базовый шаблон, который можно использовать при написании своего бота. Он содержит обработчики команд и текстовых сообщений. Для начала работы необходимо установить библиотеку aiogram (pip install aiogram) и создать объект бота, передав в него токен, который мы получили.

Вызвав функцию executor.start_polling(), скрипт начинает постоянно запрашивать обновления на серверах Telegram-а и при их наличии, вызывает необходимый обработчик, передав в него объект message, который содержит в себе подробную информацию о полученном сообщении.

В нашем примере, для удобства работы мы сразу записываем основную информацию в переменные user_id (уникальный id пользователя в Telegram), username (уникальный логин пользователя) и text (текст сообщения) и сразу выводим их в консоль вместе с временем получения сообщения.

Далее в примере, мы проверяем присутствует ли сообщение в заготовленных списках и отвечаем по необходимости пользователю с помощью функции bot.send_message(), которая принимает на вход id пользователя и текст сообщения.

Как этот бот выглядит со стороны пользователя можно увидеть на экране телефона в обложке этого поста. В следующих постах, мы рассмотрим сценарии и ветки сообщений, а пока можете задавать вопросы в чате ниже.
👍8
Что в результате выведет в консоль данный код?
Anonymous Quiz
8%
[0, 4]
30%
[5, 7, 3, 1]
15%
SyntaxError
36%
[False, True, True, True, False, True]
11%
[True, False, False, False, True, False]
🤯7👍3
Разработка Telegram ботов: Reply кнопки

Продолжаем серию постов по разработке Telegram ботов, по просьбам наших подписчиков, мы переходим на библиотеку aiogram. Прошлый пост был также переписан под aiogram.

В этом посте мы разберём как создавать и обрабатывать reply кнопки. Их вы видите сразу под строкой ввода сообщения. Чтоб создать кнопки, надо вначале создать объект клавиатуры - types.ReplyKeyboardMarkup(), она принимает на вход аргументы: resize_keyboard - булевый тип, подгоняет высоту клавиатуры до минимума и one_time_keyboard - булевый тип, скрывает клавиатуру после нажатия на её кнопку.

Для удобства работы в будущем, сделаем функцию send_main_keyboard() которая будет принимать на вход текст сообщения и отправлять главную клавиатуру с ней

Чтоб добавить кнопку в клавиатуру, воспользуемся методом keyboard.add(), передав в него текст кнопки. Кнопки можно размещать в один ряд, для этого нужно передать их текста, через запятую.

При нажатии на reply кнопку, Telegram отправляет её текст как обычное сообщение, поэтому нажатия на неё обрабатываем в обработчике сообщений.

Как этот бот выглядит со стороны пользователя можно увидеть на экране телефона в обложке этого поста. В следующих постах, мы реализуем процесс жалобы, а пока можете писать в чате, что вы хотите видеть дальше.
👍12🔥2
Что в результате выведет в консоль данный код?
Anonymous Quiz
2%
NameError
18%
SyntaxError
71%
3
2%
None
7%
FormatError
🤯16👍42
Тип данных - множества (set)

Множества в python - это структура данных, которые содержат неупорядоченные элементы. В отличие от строк элементы в множествах не индексируемые, а значит к ним нельзя обращаться по индексу и проводить операцию среза.

Также множества не содержат дубликаты элементов. Как показано на картинке, если создать множества с повторяющимися элементами, лишние автоматически удалится.

Множества задаются с помощью ключевого слова set или перечисления элементов в фигурных скобках. Добавить элемент в него можно с помощью метода add().

Элементы в множествах находятся в произвольном порядке, если запустить код с примера ещё раз, элементы могут напечататься в другом порядке.

#теория #множества #set #типы_данных

Подробнее...
👍24🤯3