This media is not supported in your browser
VIEW IN TELEGRAM
Если хочешь быстро освежить синтаксис или выучить Python с нуля — это то, что нужно. Каждая тема здесь короткая, понятная и с живым примером, который можно запустить прямо на сайте.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥33❤13👍9🤝1
•
enumerate()
— позволяет одновременно получать и индекс, и значение элемента списка. Используйте вместо range(len(...)) — код станет чище и читаемее.•
items()
— возвращает пары ключ-значение при переборе словаря. Отлично подходит, когда важно работать с обеими частями данных сразу.Оба метода экономят время, сокращают количество кода и делают его более понятным.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33🔥11❤9🤝1
Функции высшего порядка!
Функции в Python можно передавать как аргументы и возвращать как значения. Соберём скрипт, где функция применяется к списку, и используем
Создадим функцию
Передадим ей список и простую функцию возведения в квадрат:
Теперь применим
Выведем результат:
🔥 Такие функции упрощают код, делая его гибким и читаемым!
👉 Python Ready | #практика
Функции в Python можно передавать как аргументы и возвращать как значения. Соберём скрипт, где функция применяется к списку, и используем
map
, filter
и лямбды.Создадим функцию
process
, принимающую список и функцию-оператор:def process(data, operation):
return [operation(x) for x in data]
Передадим ей список и простую функцию возведения в квадрат:
Передадим ей список и простую функцию возведения в квадрат:
def square(n):
return n * n
print(process([1, 2, 3], square)) # → [1, 4, 9]
Теперь применим
filter
и map
на практике:nums = range(10)
evens = list(filter(lambda x: x % 2 == 0, nums))
doubled = list(map(lambda x: x * 2, evens))
Выведем результат:
print(doubled) # → [0, 4, 8, 12, 16]
🔥 Такие функции упрощают код, делая его гибким и читаемым!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤31👍7🔥6🤝1
This media is not supported in your browser
VIEW IN TELEGRAM
От базового синтаксиса и структур данных до декораторов, работы с API и даже специфики async-кода. Всё чётко, наглядно и с примерами. Можно листать как справочник или просто держать открытую вкладку во время работы.
Оставляю ссылочку: GitHub📱
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23❤14🔥8🤝1
В первой части
мы рассмотрели базовые методы для работы с функциями и коллекциями. Во второй — углублённые приёмы с итераторами, кэшированием и частичным применением функций. Эти инструменты помогут писать компактный, эффективный и надёжный код.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤20🔥10👍8😁1
❤22👍9🤝8
Иногда задачи запускаются, но не завершаются — и это может привести к сбоям, потерянным данным или поломке бизнес-процессов.
В этой задаче:
• Разбираем простой лог-файл.
• Находим задачи без строки "Завершено".
• Собираем список зависших job'ов с деталями.
Без сторонних библиотек, пригодится для мониторинга.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21👍8❤6🤝1
Например, список поддерживает индексацию, изменяемый и хранит дубликаты, а множество хранит только уникальные элементы и не имеет порядка.
На картинке — краткая сводка по основным типам данных с их свойствами: порядок, изменяемость, дубликаты и индексация.
Сохрани, чтобы не забыть!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥24❤14👍9😁3👎1
Готовим картинки для продакшна!
Сделаем мини-утилиту на Python, которая автоматически сжимает все изображения в папке — без потери визуального качества.
Импортируем
Создадим функцию сжатия: откроем изображение безопасно, сохраним с оптимизацией и нужным качеством:
Обойдём все файлы и применим сжатие к JPG и PNG:
🔥 Теперь все изображения в папке
👉 Python Ready | #практика
Сделаем мини-утилиту на Python, которая автоматически сжимает все изображения в папке — без потери визуального качества.
Импортируем
Pillow
и подготовим рабочие директории:from PIL import Image
import os
FOLDER = "images"
OUTPUT = "compressed"
os.makedirs(OUTPUT, exist_ok=True)
Создадим функцию сжатия: откроем изображение безопасно, сохраним с оптимизацией и нужным качеством:
def compress_image(path):
with Image.open(path) as img:
format = img.format if img.format in ("JPEG", "PNG") else "JPEG"
img.save(
os.path.join(OUTPUT, os.path.basename(path)),
format=format,
optimize=True,
quality=85 # только для JPEG, для PNG будет проигнорировано
)
Обойдём все файлы и применим сжатие к JPG и PNG:
for file in os.listdir(FOLDER):
if file.lower().endswith((".jpg", ".png")):
compress_image(os.path.join(FOLDER, file))
🔥 Теперь все изображения в папке
compressed
будут весить в 2–5 раз меньше — без потери визуального качества.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25❤13🤝6