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

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

👉 Чат: @abyteofpython
👉 Поделиться с друзьями: @byteofpython
Download Telegram
Что в результате выведет в консоль данный код?
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
Что в результате выведет в консоль данный код?
Anonymous Quiz
41%
[1, 2, 3]
12%
TypeError
3%
[1, 2]
44%
[2, 3]
👍22🤯141
Копирование объектов

В опросе выше ~ 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
🤯2712
Дзен питона

В 1999 году Тим Петерс разработал и предложил свой свод правил по улучшению языка python. The Zen of Python состоит из 20 пунктов, последний из которых не дописан.

Найти этот свод правил можно на официальном сайте python или импортировав модуль this (import this)

#пасхалки #дзен
🔥12👍3🤯31
Что выведет данный код?
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🔥103👍1
Списочные выражения

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

В первом примере мы создаём список пройдясь по каждому элементу последовательности range(10), т.е по числам от 0 до 9. Также можно дописать в выражении условия, в следующем примере мы также проходимся по числам от 0 до 9, но уже исключая нечетные числа.

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

#теория #списки #списочные_выражения #циклы

Подробнее...
🔥19👍6🤯52
Что в результате выведет в консоль данный код?
Anonymous Quiz
31%
[0, 0, 1, 1]
7%
[0, 0, 0, 1, 1, 1]
36%
[0, 1, 0, 1]
6%
[0, 1, 0, 1, 0, 1]
10%
[0, 1, 2, 0, 1, 2]
11%
[0, 1, 2, 0, 1, 2, 0, 1, 2]
🤯309🔥7
Цикл while

Цикл while используется для многократного повторения определенных операций, пока условие истинно. Соответственно если условие всегда истинно - цикл будет выполняться бесконечно (while True:)

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

Прервать работу цикла можно с помощью ключевого слова break. Во втором примере показано, что когда цикл начинается второй раз, срабатывает break и цикл заканчивается.

Также можно прервать не весь цикл, а только текущую операцию с помощью ключевого слова continue. В третьем примере показано, что когда цикл начинает вторую итерацию, он сразу пропускает её и начинает третью.

#теория #циклы #while

Подробнее...
👍305🔥3🤯2