Python Nation🐍🇺🇦
2.83K subscribers
237 photos
2 files
158 links
Канал для всіх, хто вивчає Python: поради, приклади коду, бібліотеки, лайфхаки та актуальні новин👨‍💻🐍

По всім питанням👉 @giorg_jr

❗️Канал регулярно очищується від неактивних підписників❗️
Download Telegram
Тестирование на pytest

pytest — ближе по духу к языку Python нежели unittest, которая накладывает определенные обязательства при разработке тестов. Например, создание классов-наследников от TestCase или выполнение определенной процедуры запуска тестов.

Но при разработке на pytest ничего этого делать не нужно. Вы просто пишете функции, которые должны начинаться с "test_" и используете assert, встроенные в Python.

Также он поддерживает запуск тестов на unittest и nose, то есть полная обратная совместимость с ними.

#тестирование #pytest
Автоматический счетчик во время итераций по коллекциям

Привет. Достаточно часто я наблюдаю ситуации, в которых новички создают "костыли", когда им необходим счетчик во время обхода коллекции. И вот решение проблемы.

Итак, встроенная в Python функция enumerate применяется для итерируемых коллекций (строки, списки, словари и другие) и создает объект, который генерирует кортежи, состоящие из двух элементов – индекса элемента и самого элемента.

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

#функция
Логические any и all

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

Функция any возвращает значение True, если хотя бы одно из переданных утверждений верно, all – в случае, если все верны.

На мой взгляд, эти две функции заслуживают отдельного внимания всего лишь из-за простоты в использовании.

#функция #any #all
Wikipedia в Python

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

Устанавливается этот модуль через пакетный менеджер pip. А использовать его можно без всяких трудностей – всё самое важное показано на картинке.
Генераторы словарей и множеств

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

В случае словарей отличие только в парах ключ-значение. Такие генераторы удобны для начальной инициализации значений последовательностей.
Создание переменной в Python

Все мы знаем правила создания переменных в Python.

Вот краткое описание этих правил:

— имя переменной может состоять только из букв, цифр и знака подчёркивания;
— имя не может начинаться с цифры;
— имя не может содержать специальных символов !, @, #, $, % и тд.

Но Python предлагает нам ещё один забавный способ создания имени переменной: ಠ_ಠ
QR-код — это один из видов матричного штрихкода. Это оптическая метка, которую могут считывать машины и которая содержит информацию о каком-либо предмете. На практике QR-коды часто содержат указатели на сайт или приложение.

В этом посте мы расскажем вам, как генерировать QR-коды, используя Python и библиотеку qrcode.

Установим необходимые зависимости:

pip3 install pillow qrcode

Далее используйте код с картинки.

Таким образом мы сгенерируем изображение QR-кода для указанных данных (в нашем случае — ссылка на телеграм канал Python nation). Изображение будет сохранено в новом файле site.png в текущей директории.

Вот и все! Теперь вы можете создать подобную функцию для генерации QR-кодов в своих собственных приложениях!
Генерация пароля

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

Поэтому в этом посте, мы сгенерируем собственный пароль🔑
Код программы
Конвертер валют

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

Python имеет встроенный модуль calendar для работы с задачами, связанными с датой. В этом примере вы научитесь отображать календарь на заданную дату.

В программе мы импортируем модуль calendar. Встроенная функция month() внутри модуля принимает год и месяц и отображает календарь для данного месяца года.
Хотите увидеть фокус?

Напишите данный код на своём ПК и дайте ответ в комментариях, что у вас получилось в результате.
Информация о доменном имени с помощью Python

Доменное имя или домен — это имя сайта. Вы вводите его в адресной строке браузера, когда хотите перейти на сайт.
В этом посте мы будем использовать библиотеку whois для получения различной информации о домене, такой как: имя домена, дата создания, дата окончания, электронная почта, индекс, адрес, город страна и многое другое.

Перед запуском кода пропишите данную команду в консоли:
pip install python-whois
Cowsay - прикольная маленькая библиотека, с помощью которой вы сможете нарисовать в консоль 🐲 дракона, 🐮 корову, 🦖 динозавра, 🐈 кошку, и других персонажей.

Перед запуском кода установите пакет:

sudo pip install cowsay

То что на скрине, сделано с помощью 2 строчек кода👇

import cowsay
print(cowsay.get_output_string('trex', 'тут твой текст'))
Определение лиц

Определение лиц используется в соцсетях, фото-редакторах, видеочатах, умной капче, time tracking программах — можно придумать еще множество применений этой функции.
И сейчас мы с вами напишем такую же программу.

Перед запуском кода установите пакет:
pip install opencv-python

И загрузите каскадный файл из GitHub:
https://github.com/opencv/opencv/blob/master/data/haarcascades/haarcascade_frontalface_default.xml

#opencv
Сегодня, с помощью двух строчек кода, мы с вами напишем прикольную, но оооочень простую программу, а именно🥁 Музыкальный Плеер.

Вот вам код:

from playsound import playsound
playsound('YourSound.mp3')

Но перед запуском установите пакет:

pip install playsound
Наш генератор случайных историй будет снабжен несколькими списками фраз, и каждый раз, когда мы запускаем нашу программу, предложение будет формироваться случайным образом путем выбора рандомных фраз из наших списков.
Форматировать текст мы будем с помощью f-strings

Обязательно пишите в комментариях какая история у вас получилась.
Оператор "морж"

В своё время Python 3.8 представил оператор присвоения с двоеточием :=, аналогичный оператору присвоения =.
Все мы знаем, как присвоить значение переменной:

num = 15

И вывести значение с помощью функции print:

print(num) # 15

Оператор "морж" даёт возможность присвоить переменные в выражении, включая переменные, которых еще не существует.
И вот если использовать наш новый оператор "морж", то предыдущий код мы можем выполнить в одной строке:

print(num := 15) # 15

Использование этого оператора позволяет ускорить и сократить код, а в некоторых случаях способен значительно ускорить обработку больших данных.

Операторы “морж” можно использовать везде — от циклов до функций генераторов списка или операторов if для обходного присваивания переменных.
Тепловая карта — графическое представление данных, где индивидуальные значения в таблице отображаются при помощи цвета.

Теперь поговорим о коде. Библиотеку seaborn, в отличие от matplotlib, можно использовать для построения более сложных диаграмм, в которые входит большое количество компонентов, таких как цвета, графики и переменные. matplotlib используется для отображения графика, numpy— для генерации данных и pandas — для их обработки! Построение диаграмм является лишь одной простой функцией seaborn. Также в этой библиотеке можно найти функцию colour mapping (преобразование цвета).

#matplotlib #pandas #seaborn #numpy
Отладка

Отладка относится к числу навыков, овладев которыми, вы значительно продвинете свои навыки отслеживания багов в коде. Большинство новичков пренебрежительно относятся к важности отладчика Python (pdb). В данном посте мы расскажем лишь об одном способе отладки. Про второй в следующем посте.

Запуск из командной строки (первый способ)
Вы можете запустить скрипт из командной строки вместе с отладчиком:

python3 -m pdb my_script.py

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

Команды (буквы которые вы вводите в консоли для работы отладчика)
🔸c: продолжить выполнение программы
🔸w: отобразить окружение текущей исполняемой инструкции
🔸a: отобразить список аргументов текущей функции
🔸s: исполнить текущую строчку кода и остановиться по возможности
🔸n: продолжить исполнение программы пока не будет достигнута следующая строка текущей функции или пока функция не завершит свою работу.

#отладка #pdb