smtplib - библиотека для отправки сообщений на адрес электронной почты в Python.
Библиотеку smtplib не нужно скачивать, это означает, что она стандартная.
➕ Плюсы библиотеки: простая в использовании, можно отправлять письма на почту всего за несколько строк кода, как показано на скрине.
Также smtplib поддерживает защищенное соединение SSL/TLS с SMTP сервером.
Документация и примеры код здесь (русская)
Официальная документация здесь (английская)
#theory // Just 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
Ставится командой ⚙️
Документация и примеры кода здесь
#theory // Just Python
Он проверяет код на соответствие PEP-8.
А также непосредственно запускает его, чтобы найти ошибки.
Либо какие-то неочевидные проблемы.
Также линтер сообщает разработчику, как улучшить свой код или сделать его более читабельным.
Крч для Python разработчика — Must Have
Ставится командой ⚙️
pip install pylint
Документация и примеры кода здесь
#theory // Just Python
Как легко сконвертировать изображение в любой нужный формат (например JPG -> PNG)?
Для этого в модуле Pillow есть методы save() и convert(), которые позволяют сохранить ваше фото в новом формате или просто переименовать его, например, image.jpg в img.png
Для того чтобы сделать это в Python, нужно сначала установить Pillow:
Затем напишите следующий код:
Замените "имя_файла.jpg" на ваше имя файла или путь к нему, и после запуска этого кода ваше фото будет сохранено в формате PNG.
В случае обратной конвертации (например, из PNG в JPG) может потребоваться смена режима.
Для этого используем метод convert():
Ставится командой ⚙️
Документация Pillow здесь
Подробнее про смену режима — convert()
#theory // Just Python
Для этого в модуле 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, что делает её популярным инструментом среди программистов, работающих с облаками.
Ставится командой ⚙️
Официальная документация и примеры кода здесь
#theory // Just Python
Это мощный инструмент , который позволяет разработчикам создавать, управлять различные задачи в облаке, такие как работа с хранилищем файлов S3, виртуальными серверами EC2, базой данных DynamoDB и многими другими сервисами.
Разработана кнш самой компанией Amazon, библиотека также обеспечивает широкие возможности интеграции с AWS, что делает её популярным инструментом среди программистов, работающих с облаками.
Ставится командой ⚙️
pip install boto3
Официальная документация и примеры кода здесь
#theory // Just Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Скачиваем изображение с помощью ссылки в 🐍 Python
Скопируйте этот код и замените текст <ссылка на ваше изображение> на реальную ссылку, например — https://github.com/github_logo.jpg
Таким же образом можно скачивать любые мелкие файлы.
Текстовые, архивы, иконки и тд.
Главное не забудьте поставить библиотеку requests командой ⚙️
#theory // Just 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 позволяет получать краткое описание темы с сайта Википедии.
Ставится командой ⚙️
Документация и примеры кода здесь
#theory // Just Python
В данном примере мы запрашиваем информацию о теме "Небо", и выводим результат в консоль.
С помощью метода .set_lang("язык") можно установить язык вывода. Например, "ru" для русского или "en" для английского.
Метод summary позволяет получать краткое описание темы с сайта Википедии.
Ставится командой ⚙️
pip install wikipedia
Документация и примеры кода здесь
#theory // Just Python
Bottle — это мини-фреймворк для Python, позволяющий писать веб-приложения с высокой скоростью, и он представлен в виде одного файла bottle.py, так что для его работы достаточно только этого файла.
Мы все обожаем примеры, поэтому вот код для начала работы с Bottle:
Здесь мы создали веб сервер по адресу localhost с портом 8080.
Вы можете изменить текст "Hello {{name}}" на любой другой текст.
Чтобы проверить его работу, просто перейдите по ссылке http://localhost:8080/hello/world. После этого вы увидите на экране "Hello World".
Повторюсь, Bottle распространяется в виде одного файла-модуля и не имеет никаких зависимостей, кроме стандартной библиотеки Python.
Ставится командой ⚙️
Официальная документация только на английском
Русская документация
#theory // Just Python
Мы все обожаем примеры, поэтому вот код для начала работы с 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:
Добавляем
Получаем HTML разметку с помощью свойства text
Полный код
Более подробную информацию про работу с библиотекой requests можете прочитать здесь
#theory // Just Python
Импортируем requests:
import requests
Добавляем
get("Ссылка")
чтобы requests знал, с чем вы работаете, к примеру укажем страницу Googlesite = 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-запрос.
Например, вот как легко создать таблицу пользователей и добавить туда запись:
Создали таблицу, добавили пользователя и сохранили изменения. SQLAlchemy делает работу с базами данных легче.
Ставится командой ⚙
Официальная документация и примеры кода здесь
#theory // Just Python
Например, вот как легко создать таблицу пользователей и добавить туда запись:
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. Он позволяет планировать выполнение задач в определённое время или через интервалы.
Можно настроить задачи по расписанию, например, ежедневно или еженедельно. Это удобно для регулярных действий, таких как отправка уведомлений или обновление данных.
Ставится командой ⚙
Документация и примеры кода здесь.
#theory // Just Python
Можно настроить задачи по расписанию, например, ежедневно или еженедельно. Это удобно для регулярных действий, таких как отправка уведомлений или обновление данных.
Ставится командой ⚙
pip install APScheduler
Документация и примеры кода здесь.
#theory // Just Python
The Экономист
Самое время подписаться на @economica, @ruble30 и @trendswhat и нажать «Участвую!» под этим постом, если вы ещё этого не сделали. Результаты уже завтра в 18:00!
Please open Telegram to view this post
VIEW IN TELEGRAM
ReadWriteMemory — это топовая библиотека, позволяющая легко читать/записывать в память любого процесса.
С её помощью можно, например, сделать читы для игры.
А если подрубить такие библиотеки, как imGui, то можно вывести и оверлей чита.
Либо сделать простой трейнер.
Ставится командой
Документация и примеры кода здесь.
#theory // Just Python
С её помощью можно, например, сделать читы для игры.
А если подрубить такие библиотеки, как imGui, то можно вывести и оверлей чита.
Либо сделать простой трейнер.
Ставится командой
pip install ReadWriteMemory
Документация и примеры кода здесь.
#theory // Just Python
cleantext: нормализация и очистка текста
Отличный однострочный код для нормализации и очистки текста — идеально для проектов по обработке естественного языка.
Контент, созданный пользователями в Интернете и в социальных сетях, часто бывает грязным. Предварительно обработайте свои данные с помощью clean-text, чтобы создать нормализованное текстовое представление. Например, преобразуйте этот испорченный ввод:
в этот чистый вывод:
Ссылочка на доку
#theory // Just Python
Отличный однострочный код для нормализации и очистки текста — идеально для проектов по обработке естественного языка.
Контент, созданный пользователями в Интернете и в социальных сетях, часто бывает грязным. Предварительно обработайте свои данные с помощью clean-text, чтобы создать нормализованное текстовое представление. Например, преобразуйте этот испорченный ввод:
A bunch of \\u2018new\\u2019 references, including [Moana](https://en.wikipedia.org/wiki/Moana_%282016_film%29).
»Yóù àré rïght <3!«
в этот чистый вывод:
A bunch of 'new' references, including [moana](<URL>).
"you are right <3!"
Ссылочка на доку
#theory // Just Python
Как оптимизировать память используя генераторы вместо списков
Когда мы работаем с большими наборами данных, важно помнить об эффективном использовании памяти. Одной из полезных фишек Python для оптимизации памяти является использование генераторов вместо списков.
Пример кода
Допустим, у нас есть задача найти квадраты чисел от 1 до 1 000 000. Сначала посмотрим, как это сделать с помощью списка:
Этот код создает список квадратов чисел, что требует значительного объема памяти. Вместо этого можно использовать генератор, который создаст объекты по мере их запроса, не занимая много памяти:
Теперь squares - это генератор, который генерирует квадраты чисел по мере необходимости, занимая минимальное количество памяти.
Почему это полезно
Использование генераторов вместо списков позволяет значительно экономить память, особенно при работе с большими наборами данных. Это делает ваш код более эффективным и позволяет работать с гораздо большими объемами данных без значительных затрат ресурсов.
#theory // Just Python
Когда мы работаем с большими наборами данных, важно помнить об эффективном использовании памяти. Одной из полезных фишек Python для оптимизации памяти является использование генераторов вместо списков.
Пример кода
Допустим, у нас есть задача найти квадраты чисел от 1 до 1 000 000. Сначала посмотрим, как это сделать с помощью списка:
# Плохая практика: использование списка
squares = [x**2 for x in range(1, 1000001)]
Этот код создает список квадратов чисел, что требует значительного объема памяти. Вместо этого можно использовать генератор, который создаст объекты по мере их запроса, не занимая много памяти:
# Лучшая практика: использование генератора
squares = (x**2 for x in range(1, 1000001))
Теперь squares - это генератор, который генерирует квадраты чисел по мере необходимости, занимая минимальное количество памяти.
Почему это полезно
Использование генераторов вместо списков позволяет значительно экономить память, особенно при работе с большими наборами данных. Это делает ваш код более эффективным и позволяет работать с гораздо большими объемами данных без значительных затрат ресурсов.
#theory // Just Python
Модуль dataclasses предназначен для упрощения создания классов данных.
Он предоставляет декоратор и набор инструментов, которые автоматически генерируют основные методы класса, такие как
В примере выше мы используем декоратор @dataclass, чтобы автоматически сгенерировать методы класса Point. Мы определяем поля x, y и z, которые представляют координаты точки. После создания экземпляра класса Point с помощью аргументов конструктора, мы можем напрямую выводить информациюreprтод
Подробнее здесь
#theory // Just Python
Он предоставляет декоратор и набор инструментов, которые автоматически генерируют основные методы класса, такие как
__init__()
, __repr__()
, __eq__()
, и другие. Это упрощает создание классов, которые служат простым хранилищем данных, без необходимости вручную определять все методыВ примере выше мы используем декоратор @dataclass, чтобы автоматически сгенерировать методы класса Point. Мы определяем поля x, y и z, которые представляют координаты точки. После создания экземпляра класса Point с помощью аргументов конструктора, мы можем напрямую выводить информациюreprтод
__repr__()
автоматически сгенерирован. Это делает код более лаконичным и удобным для использования.Подробнее здесь
#theory // Just Python
Создание видео из изображений
В этот раз мы сделаем скрипт для создания видео. Он будет объединять набор изображений в видеоролик, добавлять фоновую музыку, а также позволит настроить скорость смены кадров. В результате получится готовое MP4-видео!
Ссылка на код
#theory // Just Python
В этот раз мы сделаем скрипт для создания видео. Он будет объединять набор изображений в видеоролик, добавлять фоновую музыку, а также позволит настроить скорость смены кадров. В результате получится готовое MP4-видео!
Ссылка на код
#theory // Just Python
Как объединять цепочки условий красиво и читаемо
Иногда логика с множеством if становится громоздкой. В таких случаях удобно использовать словарь как аналог switch-case.
Итог:
Словарь заменяет кучу
#theory // Just Python
Иногда логика с множеством if становится громоздкой. В таких случаях удобно использовать словарь как аналог switch-case.
Итог:
Словарь заменяет кучу
if-elif-else
, делает код чище и облегчает добавление новых случаев. Особенно полезно, когда условия связаны с конкретными значениями (например, кодами, командами или ролями).#theory // Just Python
Как замерить время выполнения кода элегантно
Иногда нужно узнать, сколько времени занял блок кода — для отладки, оптимизации или просто интереса. Вместо громоздких решений можно использовать контекстный менеджер.
Итог:
Контекстный менеджер timeit позволяет быстро замерять производительность без лишнего шума. Особенно полезен при профилировании отдельных участков кода.
#theory // Just Python
Иногда нужно узнать, сколько времени занял блок кода — для отладки, оптимизации или просто интереса. Вместо громоздких решений можно использовать контекстный менеджер.
Итог:
Контекстный менеджер timeit позволяет быстро замерять производительность без лишнего шума. Особенно полезен при профилировании отдельных участков кода.
#theory // Just Python
Как элегантно объединять словари с приоритетом значений
Часто нужно объединить два словаря, где значения из второго имеют приоритет. Это можно сделать просто и читаемо.
Итог:
Синтаксис {dict1, dict2} объединяет словари, давая приоритет второму. Удобен для настройки конфигураций, параметров и всего, что связано с override'ами.
#theory // Just Python
Часто нужно объединить два словаря, где значения из второго имеют приоритет. Это можно сделать просто и читаемо.
Итог:
Синтаксис {dict1, dict2} объединяет словари, давая приоритет второму. Удобен для настройки конфигураций, параметров и всего, что связано с override'ами.
#theory // Just Python
Модуль Faker поможет создавать реалистичные тестовые данные.
Независимо от того, нужны ли вам данные для тестирования, заполнения базы данных или демонстрации функционала, Faker делает процесс генерации данных простым и эффективным.
Faker предоставляет генераторы для различных типов данных, таких как имена, адреса, номера телефонов, электронные почты, даты, текст и многое другое. Это идеальное решение для тех, кто хочет ускорить процесс тестирования.
На примере выше мы написали функцию generate_fake_user, которая использует различные методы Faker, чтобы создать случайные данные для имени, электронной почты, номера телефона и адреса. Затем мы выводим полученные данные о пользователе.
Ставится командой ⚙️
#theory // Just Python
Независимо от того, нужны ли вам данные для тестирования, заполнения базы данных или демонстрации функционала, Faker делает процесс генерации данных простым и эффективным.
Faker предоставляет генераторы для различных типов данных, таких как имена, адреса, номера телефонов, электронные почты, даты, текст и многое другое. Это идеальное решение для тех, кто хочет ускорить процесс тестирования.
На примере выше мы написали функцию generate_fake_user, которая использует различные методы Faker, чтобы создать случайные данные для имени, электронной почты, номера телефона и адреса. Затем мы выводим полученные данные о пользователе.
Ставится командой ⚙️
pip3 install faker
Документация и примеры кода здесь #theory // Just Python