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

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

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

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

Реклама на бирже - https://telega.in/c/Python_per_month
Download Telegram
Что выведет код сверху?
Anonymous Quiz
23%
-1
16%
4
21%
9
40%
Error
Узнаём кодировку текста

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

Пакет chardet как раз был создан для работы с кодировками. Его метод detect выдает предполагаемую кодировку с точностью от 0 до 1.

В примере на картинке мы сделали запрос к серверу, получили ответ, взяли его содержимое и проверили кодировку через метод detect.
Что выведет код сверху?
Anonymous Quiz
9%
[1, 2] [1, 2, 2] [1, 2, 2, 2]
37%
[1, 2] [1, 2, 2]
26%
[1, 2]
28%
Error
Оператор 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(), то получатся "настоящие" копии объекта и всех его ссылок.