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

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

❗️Канал регулярно очищується від неактивних підписників❗️
Download Telegram
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
Вычисление Города, Региона, Страны по IP 🤔

В Python есть библиотека ip2geotools, с ее помощью можно узнать данные местоположения.

Перед запуском кода установите библиотеку:
pip install ip2geotools

Код:
from ip2geotools.databases.noncommercial import DbIpCity

ip = 'сюда IP'

response = DbIpCity.get(ip, api_key='free')

print(f'Город - {response.city}\n'
f'Регион - {response.region}\n'
f'Страна - {response.country}\n'
f'Долгота - {response.latitude}\n'
f'Широта - {response.longitude}')

#ip2geotools
Продолжаем тему отладки

Запуск из скрипта
(второй способ)
Вы можете задать контрольные точки в коде, что позволит изучить значения переменных и другие параметры в конкретный момент выполнения программы. Это возможно при помощи метода pdb.set_trace(). Вот пример:

import pdb

def make_prog():
pdb.set_trace()
return "Python nation"

print(make_prog())

Попробуйте запустить этот код. Отладчик откроется сразу после запуска скрипта. Теперь пришло время вспомнить команды отладчика.

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

#отладка #pdb
Определение страны и оператора по номеру телефона

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

В этом посте мы рассмотрели лишь парочку функций.
Перед запуском установите пакет:

pip install phonenumbers

#phonenumbers
Сканирование QR-кода с помощью камеры

Несколькими постами раньше мы научились генерировать QR-код.
Теперь пришло время научится считывать его.

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

pip3 install opencv-python

После того как ваш программный код начнет "скрипеть колесами" включится веб-камера и вы, в свою очередь, поднесите QR-код к камере которая будет считывать информацию.

#opencv