Python Academy
48.6K subscribers
1.13K photos
2 videos
386 links
Python Academy — один канал вместо тысячи учебников

Чат канала: @python_academy_chat

Сотрудничество: @zubar89

Канал включён в перечень РКН: https://rkn.link/TVu
Download Telegram
Зачем использовать pdb

pdb — это интерактивный отладчик Python, который позволяет пользователю управлять выполнением программы: перемещаться по коду, просматривать и изменять значения переменных, пошагово проходить через код, включая вложенные структуры, устанавливать точки остановок и выполнять другие типичные действия для отладки.

Этот модуль обладает интерфейсом командной строки, с помощью которого можно управлять выполнением кода на Python в реальном времени. Чтобы активировать режим pdb в вашей программе, достаточно добавить следующую строку кода.

#python #pdb
5
Работа с форматированием текста

textwrap — это стандартная библиотека, которая спользуется для форматирования текста в тех случаях, когда нам нужна красивая печать.

Он предлагает функциональность аналогичную текстовым редакторам и текстовым процессорам.

Немного о возможностях:

textwrap.fill() — принимает текст и возвращает отформатированный текст, первая строка сохраняет свой отступ, а пробелы в начале каждой последующей строки вставляются в абзац.

textwrap.dedent() — используется для удаления общего префикса пробела из всех строк в тексте.

textwrap.indent() — используется для добавления текст префикса ко всем строкам в параграфе

#python #textwrap
2😱2
Управление базой данных в Python с Alembic и SQLAlchemy

Сегодня мы поговорим о том, как можно эффективно управлять структурой вашей базы данных в Python с использованием библиотек Alembic и SQLAlchemy. Эта связка инструментов позволяет легко мигрировать схему базы данных, управлять версиями и обеспечивает удобный способ разработки и поддержки приложений.

Что такое Alembic и SQLAlchemy?

SQLAlchemy - это мощная библиотека для работы с базами данных в Python. Она предоставляет ORM (Object-Relational Mapping), что делает работу с базой данных более Pythonic. Вы можете определять модели данных, выполнять запросы и манипулировать данными, используя чистый Python.

Alembic - это инструмент для управления миграциями базы данных. Он позволяет создавать и применять миграции для изменения структуры базы данных, такие как создание таблиц, добавление столбцов или изменение индексов.

Пример использования Alembic и SQLAlchemy:

1. Установка библиотек:
pip install sqlalchemy alembic

2. Инициализация Alembic:
alembic init my_migration


3. Определение моделей данных в SQLAlchemy:
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()

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


4. Создание миграции:
alembic revision --autogenerate -m "Create user table"


5. Применение миграции:
alembic upgrade head

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

Полезные ссылки:

- SQLAlchemy: https://www.sqlalchemy.org/
- Alembic: https://alembic.sqlalchemy.org/

#python #sqlalchemy #alembic #базаданных #миграции
5👍1
PyOxidizer

PyOxidizer — это инструмент, позволяющий упаковать Python-проект в единый исполняемый файл, включающий интерпретатор Python, все необходимые библиотеки и ресурсы. Это позволяет запускать ваши приложения без необходимости предварительной установки Python или каких-либо зависимостей.

#python
🔥11👍41
dict.get()

dict.get() — это метод словаря, который используется для получения значения по заданному ключу. Однако, в отличие от обращения к элементу словаря с использованием квадратных скобок (dict[key]), метод get() предоставляет дополнительную возможность задать значение по умолчанию, которое будет возвращено, если ключ не найден в словаре.

Синтаксис метода get() выглядит так:

value = dict.get(key, default)

key: Ключ, по которому производится поиск в словаре.
default (необязательный): Значение, которое будет возвращено, если ключ не найден в словаре. Если default не указан, и ключ не найден, метод вернет None.

#python
👍8
Хеширование в Python используя hashlib

Библиотека hashlib предоставляет алгоритмы хеширования, которые позволяют создавать уникальные хеш-суммы для данных. Это полезно для проверки целостности файлов, хранения паролей в безопасной форме и других задач безопасности данных.

Пример кода:
import hashlib

# Пример хеширования строки с использованием SHA-256
data_to_hash = "Hello, World!"
hashed_data = hashlib.sha256(data_to_hash.encode()).hexdigest()

print(f"Исходные данные: {data_to_hash}")
print(f"Хеш-сумма (SHA-256): {hashed_data}")
В этом примере мы используем алгоритм SHA-256 из библиотеки hashlib для создания хеш-суммы строки "Hello, World!". Результат выводится в шестнадцатеричном формате.

Библиотека hashlib является одним из лучших инструментов для обеспечения безопасности данных в Python. Путем использования различных алгоритмов хеширования, таких как MD5, SHA-256 и других, вы можете обеспечить целостность данных и повысить уровень безопасности ваших приложений.

#python #hashlib
Форматируем строку для URL-адреса

Для начала стоит вспомнить, что слаг (slug) — это уникальная строка-идентификатор, понятная человеку и содержащая только "безопасные" символы: латинские символы в нижнем регистре, цифры и дефис.

Чаще всего такое понятие можно встретить в контексте URL-адресов. Например, можно формировать слаг из названия какой-нибудь статьи и вставлять его в ссылку, чтобы людям было понятно, куда они переходят.

Выше в коде мы написали простую функцию, где использовали методы lower() для приведения в нижний регистр и strip() для удаления пробелов слева и справа.

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

#python #re
2
Работа с данными в Python используя Pydantic

Pydantic - это библиотека для Python, предназначенная для парсинга и валидации данных. Она использует статическую типизацию для атрибутов классов, что облегчает проверку данных при создании объектов.

Этот инструмент особенно полезен при работе с JSON: он автоматизирует проверку структуры, необходимых полей и значений.

Pydantic поддерживает не только стандартные типы данных, но и специализированные, такие как email, URL-адреса и номера платежных карт.

Для более подробного примера и документации можно обратиться сюда.

#python #pydantic
2👍1
Отправка электронных писем через SMTP в Python

SMTP (Simple Mail Transfer Protocol) - это протокол, позволяющий отправлять электронные письма. В стандартной библиотеке Python доступен пакет smtplib, который реализует функциональность SMTP.

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

Авторизация на сервере осуществляется с использованием метода login, в который передаются логин и пароль пользователя.

Для отправки электронных писем используется метод sendmail, который принимает адрес отправителя, адрес получателя и текст сообщения. Важно отметить, что в конце написаного кода следует закрыть соединение с сервером с помощью метода quit().

Однако стоит учесть, что некоторые почтовые сервисы могут иметь ограничения и требования к безопасности. Например, для работы с Gmail может потребоваться включить поддержку "доступа к ненадежным приложениям" и настроить двухфакторную аутентификацию.

Пример использования smtplib для отправки электронного письма:
import smtplib

smtp_server = "smtp.example.com"
smtp_port = 465 # SSL-порт
smtp_username = "your_username"
smtp_password = "your_password"

server = smtplib.SMTP_SSL(smtp_server, smtp_port)

server.login(smtp_username, smtp_password)

from_email = "your_email@example.com"
to_email = "recipient@example.com"
subject = "Тема письма"
message = "Текст письма"

server.sendmail(from_email, to_email, f"Subject: {subject}\n\n{message}")

server.quit()


#python #smtp #smtplib
1