Just Python
11.2K subscribers
3.66K photos
11 videos
3.65K links
🐍Простое изучение Python.

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: telega.in/c/justpython_it

РКН: clck.ru/3MnbSc
Download Telegram
Что такое декораторы в Python

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

В примере на фото декоратор timing_decorator измеряет время выполнения функции some_long_running_function и выводит результат на экран.

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

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

#theory // Just Python
The Экономист
⚡️Дарим сразу три новеньких iPhone 16 за подписку! Для участия в розыгрыше нужно: 1. Быть подписанным на The Экономист, Доллар по тридцать и Чё по трендам? 2. Нажать «Участвую!» под этим постом Бот случайным образом выберет победителей 2 июня в 18:00. Айфоны…
⚡️Совсем скоро трое из вас получат по новому iPhone 16!

Чтобы не упустить свой шанс, подпишитесь на @economica, @ruble30 и @trendswhat и нажмите «Участвую!» под этим постом, если ещё этого не сделали. Результаты уже 2 июня в 18:00!
Please open Telegram to view this post
VIEW IN TELEGRAM
Vega-Altair — декларативная библиотека статистической визуализации для Python. С Vega-Altair вы можете потратить больше времени на понимание своих данных и их значения. Вега-Альтаир API прост, дружелюбен и согласован и построен на основе мощной спецификации Vega-Lite JSON. Простота позволяет создавать красивые и эффективные визуализации с минимальным количеством кода.

Vega-Altair был первоначально разработан Джейком Вандерпласом и Брайаном Грейнджер в тесном сотрудничестве с UW Интерактивная лаборатория данных. Проект с открытым исходным кодом Vega-Altair не связан с Altair Engineering, Inc.

Ставится командой ⚙️ pip install altair
Документация и примеры кода здесь

#theory // Just Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое парадигмы программирования

Есть две основные парадигмы программирования: императивная (1 фото) и декларативная (2 фото)

Парадигмы программирования — это свод требований, которые используются в разных языках программирования. Их нельзя назвать статичным стоп-листом: это, скорее, варианты решения определенных задач.

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

Императивное программирование

Главное отличие этого типа — последовательное выполнение задач. Большая часть языков заточена именно под него.

Раньше процедурные языки были популярными и востребованными у разработчиков ПО. Сейчас распространено объектно-ориентированное программирование (ООП).

Декларативное программирование

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

Примеры использования парадигм программирования:

💖 Процедурная — для написания кода микрочипа
💖 Объектно-ориентированная
💖 Декларативная — для описания внешнего вида сайтов
💖 Функциональная — для криптовалюты и блокчейна

Если писать код на декларативном языке проще, зачем тогда выбирают императивное программирование? Есть три причины:

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

#theory // Just Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Dora — это библиотека для очистки и разведочного анализа данных, которая значительно упрощает решение задач Data Science. С ее помощью можно преобразовывать категориальные данные в порядковые, менять и удалять столбцы, выделять, извлекать и визуализировать признаки и решать много других задач.

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

Библиотека использует и предназначена для того, чтобы стать полезным дополнением к распространенным инструментам анализа данных Python, таким как pandas, scikit-learn и matplotlib.

Ставится командой ⚙️ pip install dora
Документация и примеры кода здесь

#theory // Just Python
Please open Telegram to view this post
VIEW IN TELEGRAM
PyDantic v2 - легкая и эффективная библиотека для валидации данных в Python.

Думаю не надо объяснять, как важно валидировать любой инпут от пользователя в приложениях/вебсайтах.

Что интересно, ядро PyDantic написано на языке Rust.
А значит библиотека работает очень производительно и никак не тормозит ваш код.

Ставится командой ⚙️ pip install -U pydantic
Документация и примеры кода здесь

#theory // Just Python
Mutagen - библиотека предназначенная для редактирования тегов ID3v1.1/ID3v2.4 и APEv2

Она поддерживает множество форматов, включая MP3, Ogg Vorbis, FLAC и многие другие.

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

Ставится командой ⚙️ pip install mutagen
Документация и примеры кода здесь

#theory // Just Python
smtplib - библиотека для отправки сообщений на адрес электронной почты в Python.

Библиотеку smtplib не нужно скачивать, это означает, что она стандартная.

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

Также smtplib поддерживает защищенное соединение SSL/TLS с SMTP сервером.

Документация и примеры код здесь (русская)
Официальная документация здесь (английская)

#theory // Just Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Pylint - популярный линтер для Python версий 2.x/3.x.

Он проверяет код на соответствие PEP-8.
А также непосредственно запускает его, чтобы найти ошибки.
Либо какие-то неочевидные проблемы.

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

Крч для Python разработчика — Must Have

Ставится командой ⚙️ pip install pylint
Документация и примеры кода здесь

#theory // Just Python
Как легко сконвертировать изображение в любой нужный формат (например JPG -> PNG)?

Для этого в модуле Pillow есть методы save() и convert(), которые позволяют сохранить ваше фото в новом формате или просто переименовать его, например, image.jpg в img.png

Важно понимать, что в таком случае меняется не просто расширение файла, но и сами метаданные внутри файла!

Для того чтобы сделать это в Python, нужно сначала установить Pillow:
pip install pillow

Затем напишите следующий код:
from PIL import Image

img = Image.open("имя_файла.jpg")

img.save("имя_файла.png")

Замените "имя_файла.jpg" на ваше имя файла или путь к нему, и после запуска этого кода ваше фото будет сохранено в формате PNG.

В случае обратной конвертации (например, из PNG в JPG) может потребоваться смена режима.
Для этого используем метод convert():
img = img.convert('RGB')


Ставится командой ⚙️ pip install pillow
Документация Pillow здесь
Подробнее про смену режима — convert()

#theory // Just Python
Boto3 - официальный SDK (Software Development Kit), для работы с 📦 Amazon Web Services (AWS) и для работы с их облачными сервисами на 🐍 Python.

Это мощный инструмент , который позволяет разработчикам создавать, управлять различные задачи в облаке, такие как работа с хранилищем файлов S3, виртуальными серверами EC2, базой данных DynamoDB и многими другими сервисами.

Разработана кнш самой компанией Amazon, библиотека также обеспечивает широкие возможности интеграции с AWS, что делает её популярным инструментом среди программистов, работающих с облаками.

Ставится командой ⚙️ pip install boto3
Официальная документация и примеры кода здесь

#theory // Just Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Скачиваем изображение с помощью ссылки в 🐍 Python

import requests

url = "<ссылка на ваше изображение>"
response = requests.get(url)

with open("image.jpg", "wb") as file:
file.write(response.content)

print("Изображение успешно загружено.")

Скопируйте этот код и замените текст <ссылка на ваше изображение> на реальную ссылку, например — https://github.com/github_logo.jpg

Таким же образом можно скачивать любые мелкие файлы.
Текстовые, архивы, иконки и тд.

Главное не забудьте поставить библиотеку requests командой ⚙️ pip install requests

#theory // Just Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Wikipedia - эта библиотека для работы с данными из Википедии на языке Python, разработанная создателями самой википедия.

В данном примере мы запрашиваем информацию о теме "Небо", и выводим результат в консоль.

С помощью метода .set_lang("язык") можно установить язык вывода. Например, "ru" для русского или "en" для английского.

Метод summary позволяет получать краткое описание темы с сайта Википедии.

Ставится командой ⚙️ pip install wikipedia
Документация и примеры кода здесь

#theory // Just Python
Bottle — это мини-фреймворк для Python, позволяющий писать веб-приложения с высокой скоростью, и он представлен в виде одного файла bottle.py, так что для его работы достаточно только этого файла.

Мы все обожаем примеры, поэтому вот код для начала работы с Bottle:
from bottle import route, run, template

@route('/hello/<name>')
def index(name):
return template('<b>Hello {{name}}</b>!', name=name)

run(host='localhost', port=8080)

Здесь мы создали веб сервер по адресу localhost с портом 8080.
Вы можете изменить текст "Hello {{name}}" на любой другой текст.

Чтобы проверить его работу, просто перейдите по ссылке http://localhost:8080/hello/world. После этого вы увидите на экране "Hello World".

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

Ставится командой ⚙️ pip install bottle
Официальная документация только на английском
Русская документация

#theory // Just Python
Получаем HTML код в Python с помощью библиотеки requests

Импортируем requests:
import requests


Добавляем get("Ссылка") чтобы requests знал, с чем вы работаете, к примеру укажем страницу Google
site = requests.get("https://google.com")


Получаем HTML разметку с помощью свойства text
html_code = site.text


Полный код
# Импортируем requests
import requests

# Добавляем get("Ссылка") чтобы requests знал, с чем мы работаем. Например, укажем страницу Google
site = requests.get("https://google.com")

# Получаем HTML разметку с помощью text
html_code = site.text

# Выводим HTML код
print(html_code)


Более подробную информацию про работу с библиотекой requests можете прочитать здесь

#theory // Just Python
SQLAlchemy — это штука, которая сильно упрощает работу с базами данных в Python. Она позволяет писать код так, будто ты работаешь с обычными объектами, а не с таблицами. Но если нужно, всегда можно написать чистый SQL-запрос.

Например, вот как легко создать таблицу пользователей и добавить туда запись:
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.orm import declarative_base, sessionmaker

Base = declarative_base()

class User(Base):
tablename = 'users'
id = Column(Integer, primary_key=True)
name = Column(String)

engine = create_engine('sqlite:///example.db')
Base.metadata.create_all(engine)

Session = sessionmaker(bind=engine)
session = Session()

new_user = User(name="Али")
session.add(new_user)
session.commit()

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

Ставится командой pip install SQLAlchemy
Официальная документация и примеры кода здесь

#theory // Just Python
APScheduler — это инструмент для автоматизации задач в Python. Он позволяет планировать выполнение задач в определённое время или через интервалы.

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

Ставится командой pip install APScheduler
Документация и примеры кода здесь.

#theory // Just Python
The Экономист
⚡️Дарим сразу три новеньких iPhone 16 за подписку! Для участия в розыгрыше нужно: 1. Быть подписанным на The Экономист, Доллар по тридцать и Чё по трендам? 2. Нажать «Участвую!» под этим постом Бот случайным образом выберет победителей 2 июня в 18:00. Айфоны…
⚡️Уже ЗАВТРА мы подведём итоги масштабного розыгрыша — троим из вас достанется новенький iPhone 16!

Самое время подписаться на @economica, @ruble30 и @trendswhat и нажать «Участвую!» под этим постом, если вы ещё этого не сделали. Результаты уже завтра в 18:00!
Please open Telegram to view this post
VIEW IN TELEGRAM
ReadWriteMemory — это топовая библиотека, позволяющая легко читать/записывать в память любого процесса.

С её помощью можно, например, сделать читы для игры.
А если подрубить такие библиотеки, как imGui, то можно вывести и оверлей чита.
Либо сделать простой трейнер.

Ставится командой pip install ReadWriteMemory
Документация и примеры кода здесь.

#theory // Just Python