Эта шпаргалка объясняет основы параллелизма в Python. Она охватывает понятия процессов и потоков, описывает многопоточность для задач ввода-вывода и приводит примеры кода для создания потоков, безопасных очередей и оптимизации производительности.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2
Marshmallow — это библиотека для сериализации, десериализации и валидации сложных объектов данных. Она позволяет преобразовывать Python-объекты в форматы, такие как JSON, и обратно.
Подходит для разработчиков, которым нужно легко управлять валидацией данных и преобразованиями между объектами и форматами, такими как JSON или YAML.
from marshmallow import Schema, fields, ValidationError
# Определение схемы
class UserSchema(Schema):
name = fields.String(required=True)
age = fields.Integer(required=True)
# Данные для сериализации
user_data = {"name": "Alice", "age": 24}
# Сериализация (объект Python -> JSON)
schema = UserSchema()
result = schema.dump(user_data)
print(result)
# Десериализация (JSON -> объект Python)
user_json = '{"name": "Bob", "age": 30}'
try:
user = schema.loads(user_json)
print(user)
except ValidationError as err:
print(err.messages)
pip install marshmallow
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🤩1
Этот Python-скрипт организует файлы в каталоге, сортируя их по подкаталогам на основе расширений файлов.
1. Скрипт запрашивает путь к каталогу и проверяет его наличие.
2. Перебирает все файлы в каталоге.
3. Определяет расширение файла и создает подкаталог с именем расширения.
4. Перемещает каждый файл в соответствующий подкаталог.
📂 Скрипт с подробным комментированием кода уже в архиве:
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤1🍌1
Понимание архитектуры — ключевой навык для разработки качественного и поддерживаемого кода.
Этот гайд объясняет важные концепции, такие как разделение на уровни, паттерны проектирования и принципы SOLID, которые помогут джунам строить масштабируемые и чистые Python-приложения. Следуя этим принципам, можно значительно упростить поддержку кода и подготовиться к росту нагрузки.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥2
В ходе курса, вы будете создавать полноценное веб-приложение на Python, с использованием фреймворка Flask. Научитесь создавать сайты и веб-приложения любой сложности на Python, освоив все основные аспекты работы с фреймворком Flask.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1
Deepface — удобная библиотека для Python, которая распознает лица и анализирует их характеристики: возраст, пол, эмоции и расу.
Она применяет гибридный подход, объединяя несколько мощных моделей, таких как VGG-Face, FaceNet, OpenFace, DeepFace, DeepID, ArcFace, Dlib, SFace и GhostFaceNet, что делает её особенно гибкой и точной.
from deepface import DeepFace
result = DeepFace.verify(
img1_path = "face_1.jpg",
img2_path = "face_2.jpg",
)
Результат — словарь с данными анализа изображений, позволяющий глубже понять схожесть лиц.
pip install deepface
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥3❤2
yield — ключевое слово в Python, которое часто вызывает вопросы у новичков, но при этом открывает мощные возможности для оптимизации кода. По сути, yield позволяет функции запомнить свое состояние и продолжить выполнение с того же места, где остановилась. Это делает функцию "генератором", который возвращает значения одно за другим, по мере их запроса.Вместо привычного
return, который завершает функцию и возвращает значение, yield приостанавливает её выполнение, но не закрывает. При каждом вызове генератора он продолжает выполнение с того места, где остановился. Это полезно, когда нужно работать с большим объемом данных, так как генераторы создают элементы "лениво", по одному за раз, не занимая много памяти.def countdown(n):
while n > 0:
yield n
n -= 1
for number in countdown(5):
print(number)
Этот код будет выводить числа от 5 до 1 по одному, при каждом вызове
yield, экономя память и время.Использование
yield особенно полезно при работе с большими списками, потоками данных или бесконечными последовательностями. Генераторы позволяют обходить ограничение памяти и выполнять операции быстрее за счет обработки данных на лету.Подробнее вы можете изучить в статье по ссылке — ознакомиться⬅️
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤1
numbers = [1, 2, 3, 4, 5]
result = 0
for i in range(1, len(numbers), 2):
result += numbers[i]
print(result)
Выберите вариант ответа ниже
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Эта шпаргалка — быстрый и удобный справочник по основам Python для начинающих и опытных разработчиков.
Она охватывает ключевые темы: переменные, приведение типов, операторы, часто используемые методы с примерами, регулярные выражения, обработку ошибок и многое другое. С примерами кода и краткими пояснениями.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Энтузиасты делают ASCII-ремейки «Звездных войн» и ролевые ASCII-игры. А в этом гайде, вы напишите GUI-приложение для конвертации изображений в олдскульную ASCII-графику с помощью Python и библиотеки Pillow.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🤩2
Если вам нужно быстро получить сокращенную ссылку на любой URL, этот небольшой скрипт на Python решит задачу за считанные секунды!
Код использует API сервиса TinyURL и всего пару строк кода. Вам понадобится библиотека
requests, чтобы отправить запрос и получить сокращенную ссылку.import requests
def shorten_url_with_tinyurl(long_url):
url = f'http://tinyurl.com/api-create.php?url={long_url}'
response = requests.get(url)
if response.status_code == 200:
return response.text
else:
return None
long_url = r"ваша длинная ссылка"
short_url = shorten_url_with_tinyurl(long_url)
if short_url:
print(f'Shortened URL: {short_url}')
else:
print('Error shortening URL')
1. Отправляем GET-запрос к API TinyURL со ссылкой, которую нужно сократить.
2. Проверяем ответ сервера: если всё прошло успешно, возвращается короткая ссылка, иначе —
None.3. Выводим результат. Если сокращение прошло успешно, выводится короткая ссылка, иначе — сообщение об ошибке.
📂 Скрипт с подробным комментированием кода уже в архиве:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥3❤🔥1
Pympler помогает отслеживать и анализировать использование памяти в Python-приложениях. С его помощью можно выявить утечки памяти, избыточное потребление и другие проблемы, связанные с памятью. Отличный инструмент для оптимизации вашего кода.
Позволяет получить подробные данные о размере объектов и времени выполнения процессов, что полезно при отладке и анализе производительности.
from pympler import tracker
tr = tracker.SummaryTracker()
function_without_side_effects()
tr.print_diff()
types | # objects | total size
======= | =========== | ============
dict | 1 | 280 B
list | 1 | 192 B
pip install pympler
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
Самое популярное руководство по языку Python для начинающих и не только! С этим пособием вы не просто освоите основы программирования, но и научитесь писать полноценные программы, отлаживать код и создавать рабочие приложения.
В первой части книги — основные концепции: переменные, списки, классы, циклы и принципы чистого кода. Во второй части — три практических проекта, где вы:
Работа с мощными библиотеками (Pygame, Matplotlib, Plotly, Django) и хорошую практику для изучения.
Если вам полезен такой формат постов, оставьте побольше реакций🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤4
Самый полный курс по популярному фреймворку для создания телеграм ботов — aiogram 3.4
Подача материала очень хорошая! Рекомендую🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍3
Pytube - это библиотека для загрузки видео с YouTube.
from pytube import YouTube
# Укажите URL-адрес видео
video_url = "https://www.youtube.com/watch?v=video-id"
# Создайте объект YouTube
yt = YouTube(video_url)
# Загрузите видео
yt.streams.first().download()
pip install pytube
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥4🤩1
Для того, чтобы измерить скорость интернета с помощью Python, мы можем воспользоваться библиотекой Speedtest.
pip install speedtest-cli
import speedtest
st = speedtest.Speedtest()
print("Загрузка:", round(st.download() / 1_000_000, 2), "Мбит/с")
print("Выгрузка:", round(st.upload() / 1_000_000, 2), "Мбит/с")
print("Пинг:", st.results.ping, "мс")
Скрипт измеряет скорость загрузки и выгрузки в Мбит/с, а также показывает пинг.
Загрузка: 48.95 Мбит/с
Выгрузка: 28.46 Мбит/с
Пинг: 48.951 мс
Такой скрипт помогает быстро проверить соединение, автоматизировать мониторинг сети или использовать данные для анализа стабильности интернета.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤🔥2
В данном видео мы рассмотрим способы интеграции Python с языками Си и С++. Мы создадим 3 компонента на языки Си, скомпилируем их в готовые динамические библиотеки и подключим в Python для использования. Сам Python в данном примере служит лишь удобным интерфейсом для взаимодействия с библиотеками.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥4🤩1
В Python конструкция
if __name__ == "__main__" помогает управлять выполнением кода. Каждый файл Python имеет специальную переменную __name__, которая определяет, как этот файл был запущен. Если файл выполняется напрямую, __name__ будет равен "__main__", и код в блоке if __name__ == "__main__" запустится. Это удобно для разделения кода на основную часть и вспомогательные функции. Если файл импортируется как модуль, этот код не будет выполнен, что предотвращает ненужные действия при импортировании.
1. Использование в основном скрипте
def greet():
print("Привет, мир!")
if __name__ == "__main__":
greet() # Выполнится только если файл запущен напрямую
При запуске этого файла увидим вывод
"Привет, мир!". Но если файл будет импортирован, greet() не вызовется.2. Использование при импорте
# main.py
import helper # helper содержит greet() и `if __name__ == "__main__"`
helper.greet() # вызовем greet() из модуля
В этом случае код внутри
if __name__ == "__main__" в helper.py не выполнится при импорте в main.py.Это полезная конструкция для разделения логики запуска и импорта в Python. Она позволяет запускать код только при прямом выполнении файла, не затрагивая функционал при его подключении как модуля. Это улучшает структуру кода и предотвращает случайное выполнение ненужных частей.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10