Python Learning
34.5K subscribers
1.91K photos
8 videos
7 files
916 links
№ 4974297878

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

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

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

Реклама на бирже - https://telega.in/c/Python_per_month
加入频道
Упорядоченные словари

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

Не беспокойтесь, в библиотеке коллекций Python есть модуль с именем OrderedDict, который делает именно это.
Наибольший общий делитель

В стандартной математической библиотеке Python есть отличные методы, которые упрощают практически любые базовые математические вычисления. Например метод gcd(), выдающий наибольший общий делитель.
👍1
Транспонирование двумерного массива данных

Чтобы поменять местами строки и столбцы матрицы, созданной с помощью встроенных типов данных, воспользуйтесь функцией zip.
Проверьте использование памяти ваших объектов

С помощью sys.getsizeof() вы можете проверить использование памяти объектом(48 байт)
Вау… подождите… почему этот огромный список весит всего 48 байтов?
Это потому, что функция range возвращает класс, который только ведет себя как список. Диапазон намного менее нагружает память, чем фактический список чисел.
Вы можете убедиться сами, используя списковые включения, чтобы создать фактический список чисел из того же диапазона(87632 байта)

Итак, поиграв с sys.getsizeof(), вы можете больше узнать о Python и использовании вашей памяти.
[ Фотография ]
Happy New Year

Дорогие подписчики поздравляю вас с наступающим, кого-то уже с наступившим, новым годом.

Пусть 2022 год принесет вам удачу, радость и успехов во всех ваших начинаниях.
Что выведет код сверху?
Anonymous Quiz
28%
False, False
32%
True, False
18%
False, True
22%
True, True
Распечатывание ежемесячного календаря

А этот лайфхак — всего лишь скрытая функция Python, которая позволяет распечатывать ежемесячный календарь в формате таблицы.
Условные операторы

Однострочники - приятный аспект Python, которые можно применять ко многим концепциям.

(Также известен как тернарный оператор или оператор if-else).
Возврат нескольких значений из функции

Знаете ли вы, что можно осуществлять возврат нескольких значений из функции? Вот как это сделать. Ознакомьтесь с приведенным выше примером кода.
Распаковывание последовательностей при неизвестном числе элементов

Для указанного в подзаголовке случая в Python 3 есть оператор звездочки – расширенная операция распаковывания последовательности. Переменной со звездочкой присваивается часть списка, содержащая все неприсвоенные элементы, соответствующие этой позиции.
Работа с ip адресами

Если вам приходится писать на Python программы для работы с сетью — это значит, что вам может очень пригодиться модуль ipaddress.

Одним из вариантов его использования является генерация списка IP-адресов из диапазона адресов, заданных в формате CIDR (Classless Inter-Domain Routing, или бесклассовая адресация).
Вычисление выражений Python

Вы наверняка знакомы с eval, но знаете ли вы о literal_eval? Вряд ли. Для безопасного исполнения выражений, содержащих исключительно литералы, вы можете делать так.
Нахождение палиндрома

Возможно, вы уже сталкивались с этой задачей. Но думали ли вы, что ее можно решить всего в одну строку кода?

P.S. Палиндром - это слово или текст, одинаково читающиеся в обоих направлениях.
Прогресс выполнения программы

Индикаторы прогресса добавляют наглядности в скриптах, которые исполняют какие-то функции, требующие времени для выполнения. Модуль tqdm является простым и лаконичным вариантом.

Привычный range можно заменить на trange для визуализации прогресса. А для итерации по какой-либо последовательности достаточно просто передать её в функцию tqdm. Также модуль хорошо себя зарекомендовал и в Jupyter Notebook.
Модуль geopy

Программистам может быть сложно ориентироваться в географии. Однако модуль geopy всё упрощает:

$ pip install geopy

Он работает путём абстрагирования API разных сервисов геокодирования. Этот модуль даёт возможность узнать полный адрес места, его долготу и широту и даже высоту.

Также в нём есть полезный класс Distance. Он высчитывает расстояние между двумя местами в удобной единице измерения.
Превращаем текст в речь

На Python есть классная библиотека gTTS (Google Text-to-Speech), которая взаимодействует с Google Translate's text-to-speech API и позволяет делать из текста аудиофайлы. Пакет, как всегда, устанавливается через pip.

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

Сохранить полученный результат можно с помощью метода save, в который передается название файла.
Автоматическая отправка сообщений в WhatsApp

Чтобы использовать этот модуль Python для автоматической отправки сообщений в WhatsApp в установленное время, нам нужен браузер Chrome, и вы должны войти в свой WhatsApp на веб-сайте web.whatsapp.com.

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

Установка данного модуля - pip install pywhatkit(также возможно вам понадобится установить модуль flask - pip install flask.

Не забудьте отправить своим друзьям тысячи случайных сообщений в WhatsApp!
👍1
Выключение компьютера

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

Обращение к несуществующему ключу словаря вызывает исключение. Избежать этого можно, вызывая метод get. В указанном случае метод выдает None (по умолчанию) или заданное значение аргумента.
uuid

Стандартный модуль uuid — быстрый и простой способ сгенерировать UUID (universally unique identifier, глобально уникальный идентификатор).

Так мы создаём случайное 128-битное число, которое почти наверняка будет уникальным.

Существует более 2¹²² возможных UUID. Это более 5 ундециллионов или 5,000,000,000,000,000,000,000,000,000,000,000,000.

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

Вполне недурно для двух строк кода.