Цветной вывод в консоли
Colorama - самая популярная библиотека для цветного вывода в консоль. Благодаря ей, не нужно запоминать ANSI коды, ведь они вшиты в библиотеку
Для начала работы с библиотекой необходимо её установить (
Подробнее...
Colorama - самая популярная библиотека для цветного вывода в консоль. Благодаря ей, не нужно запоминать ANSI коды, ведь они вшиты в библиотеку
Для начала работы с библиотекой необходимо её установить (
pip install colorama
), импортировать (import colorama
) и инициализировать с помощью метода init()
С помощью библиотеки можно менять цвета, фон и стиль текста. В первом примере с помощью склеивания строки с объектом цвета Fore.GREEN
мы перекрасили строку в зеленый цвет. Также можно склеивать сразу несколько объектов, например добавить цвет фона на белый с помощью объекта Back.WHITE
#гайды #консоль #цветной_выводПодробнее...
👍6
Разработка Telegram ботов: Базовый шаблон
В настоящее время Telegram активно набирает обороты, а специалисты по разработке чат-ботов становятся востребованы на рынке фриланса. В связи с этим мы подготовили небольшую серию постов по разработке Telegram ботов на Python +
Для начала, нам необходимо зарегистрировать нового бота, для этого нужно написать отцу ботов и заполнить поля которые он спросит (там же можно задать описание, имя, @юзернейм и аватарку). В ответ на заполненную информацию, он пришлёт телеграм бот токен, его необходимо сохранить, т.к это ключ для авторизации бота и взаимодействия с ним.
Для примера, мы подготовили базовый шаблон, который можно использовать при написании своего бота. Он содержит обработчики команд и текстовых сообщений. Для начала работы необходимо установить библиотеку
Вызвав функцию
В нашем примере, для удобства работы мы сразу записываем основную информацию в переменные
Далее в примере, мы проверяем присутствует ли сообщение в заготовленных списках и отвечаем по необходимости пользователю с помощью функции
Как этот бот выглядит со стороны пользователя можно увидеть на экране телефона в обложке этого поста. В следующих постах, мы рассмотрим сценарии и ветки сообщений, а пока можете задавать вопросы в чате ниже.
В настоящее время 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 ботов, по просьбам наших подписчиков, мы переходим на библиотеку
В этом посте мы разберём как создавать и обрабатывать reply кнопки. Их вы видите сразу под строкой ввода сообщения. Чтоб создать кнопки, надо вначале создать объект клавиатуры -
Для удобства работы в будущем, сделаем функцию
Чтоб добавить кнопку в клавиатуру, воспользуемся методом
При нажатии на reply кнопку, Telegram отправляет её текст как обычное сообщение, поэтому нажатия на неё обрабатываем в обработчике сообщений.
Как этот бот выглядит со стороны пользователя можно увидеть на экране телефона в обложке этого поста. В следующих постах, мы реализуем процесс жалобы, а пока можете писать в чате, что вы хотите видеть дальше.
Продолжаем серию постов по разработке 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👍4❤2
Тип данных - множества (set)
Множества в python - это структура данных, которые содержат неупорядоченные элементы. В отличие от строк элементы в множествах не индексируемые, а значит к ним нельзя обращаться по индексу и проводить операцию среза.
Также множества не содержат дубликаты элементов. Как показано на картинке, если создать множества с повторяющимися элементами, лишние автоматически удалится.
Множества задаются с помощью ключевого слова
Элементы в множествах находятся в произвольном порядке, если запустить код с примера ещё раз, элементы могут напечататься в другом порядке.
#теория #множества #set #типы_данных
Подробнее...
Множества в python - это структура данных, которые содержат неупорядоченные элементы. В отличие от строк элементы в множествах не индексируемые, а значит к ним нельзя обращаться по индексу и проводить операцию среза.
Также множества не содержат дубликаты элементов. Как показано на картинке, если создать множества с повторяющимися элементами, лишние автоматически удалится.
Множества задаются с помощью ключевого слова
set
или перечисления элементов в фигурных скобках. Добавить элемент в него можно с помощью метода add()
.Элементы в множествах находятся в произвольном порядке, если запустить код с примера ещё раз, элементы могут напечататься в другом порядке.
#теория #множества #set #типы_данных
Подробнее...
👍24🤯3
Что в результате выведет в консоль данный код?
Anonymous Quiz
41%
[1, 2, 3]
12%
TypeError
3%
[1, 2]
44%
[2, 3]
👍22🤯14❤1
Копирование объектов
В опросе выше ~ 55% ответило неправильно, теперь объясним почему. В этом посте мы рассмотрим определение глубокого и поверхностного копирования, а также их реализации на языке Python.
В первом примере мы копируем объект лишь поверхностно, при таком копировании дочерние элементы не копируются в новый объект, оно просто копирует ссылки на их адреса памяти. Следовательно, при изменении нового объекта, изменяется и старый.
Во втором примере с помощью функции
#теория #копирование
В опросе выше ~ 55% ответило неправильно, теперь объясним почему. В этом посте мы рассмотрим определение глубокого и поверхностного копирования, а также их реализации на языке Python.
В первом примере мы копируем объект лишь поверхностно, при таком копировании дочерние элементы не копируются в новый объект, оно просто копирует ссылки на их адреса памяти. Следовательно, при изменении нового объекта, изменяется и старый.
Во втором примере с помощью функции
copy
, мы делаем глубокое копирование, копируем сам объект и все его дочерние элементы в новые ячейки памяти, поэтому изменения на старом объекте не отражаются.#теория #копирование
👍26🤯6😁1
Что в результате выведет в консоль данный код?
Anonymous Quiz
12%
10
13%
1
25%
False
36%
True
14%
SyntaxError
👍13🤯12🔥1🎉1
Функция count
Метод
Также метод
#теория #функции #методы #списки #строки
Подробнее...
Метод
count
, принимая в качестве аргумента объект, возвращает количество вхождений этого объекта в список. В первом примере, мы получаем количество вхождений нулей и единиц в список.Также метод
count
позволяет получить количество вхождений подстроки в строку. Во втором примере мы получаем количество запятых в строке ‘Hello, world!’
. Если объект в списке/строке не присутствует, функция вернёт 0.#теория #функции #методы #списки #строки
Подробнее...
👍27🔥3🤯1
Что в результате выведет в консоль данный код?
Anonymous Quiz
29%
0 и 2
47%
4 и 2
6%
4 и 0
13%
SyntaxError
5%
FindError
🤯27❤12
Что выведет данный код?
Anonymous Quiz
38%
{1, 2, 3, 4}
38%
{1, 2, 3, 4, 3, 2, 1}
19%
[1, 2, 3, 4, 3, 2, 1]
6%
[1, 2, 3, 4]
🤯16🔥10❤3👍1