Python Learning
35.4K subscribers
1.89K photos
8 videos
7 files
887 links
№ 4974297878

Обучающий канал по Python

Ссылка для друга - https://t.me/+I7jrAQKR5xAyYTAy

По всем вопросам @mascarov_valentin

Реклама на бирже - https://telega.in/c/Python_per_month
Download Telegram
Оператор continue

Оператор continue в Python используется для перевода управления программой в начало цикла. Он пропускает оставшиеся строки кода внутри цикла и запускает следующую итерацию.

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

Обратите внимание на вывод приведенного выше кода, значение 2 пропущено, потому что мы предоставили условие if с помощью оператора continue в цикле for. Когда он соответствует заданному условию, тогда управление передается в начало цикла for, и оно пропускает значение 2 из кода.
Создание GIF анимации из кадров в Python

У нас есть 10 кадров с бегущим Гомером Симпсоном. Мы будем использовать их для создания одной целой гифки.

Получившуюся гифку вы можете найти ниже, а подробное руководство по созданию GIF Гомера Симпсона из его изображений здесь.

P.S. Реакции к постам включены.
Эффективный трюк, чтобы узнать, является ли число степенью двойки

Обычный метод деления имеет сложность O(logN), но эту задачу можно решить со сложностью O(v), где v — количество цифр числа в двоичной форме.

Подробнее ознакомиться с тем как работает данный трюк можно здесь.
Что выведет код сверху?
Anonymous Quiz
10%
0
19%
1
32%
2
38%
3
Передача функции в другую функцию

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

Однако такая гибкость может плохо влиять на читаемость кода, поэтому пользоваться фичей нужно с осторожностью.
Пишем простого эхо-бота на Python

Инструкция по созданию бота:
1) Заходим в бота @BotFather
2) запускаем его(/start)
3) выбираем команду /newbot
4) даем имя боту
5) после этого придумываем ему юзернейм
6) и наконец-таки получаем токен для нашего бота, который вставляем в свой код.

Теперь заходим в среду написания кода, вставляем наш код с картинки(для особо ленивых код будет в комментариях), вставляем свой токен и запускаем программу, после чего заходим в телеграм, находим в поиске вашего бота и запускаем его.

Перед запуском программы необходимо установить пакет telebot(pip install telebot).

Наш с вами бот будет работать в роли попугая, так как будет повторять любую вашу фразу.
Что выведет код сверху?
Anonymous Quiz
21%
2
25%
1
18%
0
36%
Error
Модуль pytz

Модуль pytz обслуживает функции преобразования даты и времени. Таким образом, позволяет пользователям обслуживать международную клиентскую базу.

В примере выше мы узнаем дату и время конкретного часового пояса.

С документацией пакета вы можете ознакомиться здесь.
Копирование объектов

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

Если же использовать copy.deepcopy(), то получатся "настоящие" копии объекта и всех его ссылок.
Что выведет код сверху?
Anonymous Quiz
22%
False False
21%
False True
42%
True False
14%
True True
Получаем текущее имя пользователя в Python

Модуль ОС в Python предоставляет функции для взаимодействия с операционной системой. ОС входит в стандартные служебные модули Python. Этот модуль предоставляет портативный способ использования функций, зависящих от операционной системы.

Метод os.getlogin() в Python используется для получения имени пользователя, вошедшего в систему на управляющем терминале процесса.
Что выведет код сверху?
Anonymous Quiz
19%
2
22%
4
38%
6
21%
Error
Сортировка вставками

Как и сортировка выборкой, этот алгоритм сегментирует список на две части: отсортированную и неотсортированную. Алгоритм перебирает второй сегмент и вставляет текущий элемент в правильную позицию первого сегмента.

Предполагается, что первый элемент списка отсортирован. Переходим к следующему элементу, обозначим его х. Если х больше первого, оставляем его на своём месте. Если он меньше, копируем его на вторую позицию, а х устанавливаем как первый элемент.

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

Время сортировки вставками в среднем равно O(n²), где n — количество элементов списка.