Многие знают конструкцию else в условных операторах, но в Python она также работает с циклами (for, while), что делает код более выразительным.
Блок
else
выполняется только если цикл завершился естественным образом (без прерывания break). for item in range(5):
if item == 10:
break
else:
print("Цикл завершился без break!") # Выполнится
n = 0
while n < 5:
n += 1
else:
print("Цикл завершён!") # Сработает, если не было break
Позволяет избегать флаговых переменных и делает код чище, особенно при поиске элементов:
for user in users:
if user.is_admin:
print("Админ найден!")
break
else:
print("Админов нет.") # Если break не сработал
GitUnion || #Python
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤1
Forwarded from GitWeb
Django - это один из самых популярных инструментов в веб-разработке, давайте разберемся для чего он конкретно нужен
Для чего используют Django?
• Социальные сети и блоги
• CRM-системы и интернет-магазины
• API для мобильных приложений
• Аналитические платформы и SaaS-решения
Django — это надёжный инструмент для Backend, который позволяет сосредоточиться на логике приложения, а не на рутинных задачах.
GitUnion || #Статьи #Backend
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
Полное практическое руководство по анализу данных и машинному обучению на Python. Идеально подходит для аналитиков и разработчиков, которые хотят освоить Data Science с нуля.
Что внутри:
GitUnion || #Книги #Python
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2🔥1
Официальный репозиторий sigmavirus24/python-interview-questions — это тщательно подобранная коллекция вопросов и задач по Python, которые часто встречаются на технических собеседованиях. Идеальный ресурс для подготовки к трудоустройству в IT!
Что внутри?
GitUnion || #Python #Репозитории
Please open Telegram to view this post
VIEW IN TELEGRAM
Знаете ли вы, что f-строки в Python — это не просто удобный способ подстановки переменных? Они умеют гораздо больше!
— Встраивать выражения:
f"Сумма: {x + y}"
— Форматировать числа:
f"Процент: {ratio:.2%}"
— Вызывать методы:
f"Имя: {name.upper()}"
price = 99.9999
name = "Python"
print(f"Цена: {price:.2f} ₽") # Цена: 100.00 ₽
print(f"Курс: {name!r}") # Курс: 'Python' (repr)
print(f"2 + 2 = {2 + 2}") # 2 + 2 = 4
— Читаемость: код становится чище и понятнее.
— Производительность: f-строки быстрее
format()
и %
. — Гибкость: можно встроить почти любое выражение!
GitUnion || #Python #Статья
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1🔥1
Классическое введение в Python, которое уже помогло миллионам новичков сделать первые шаги в кодинге. Простое, понятное и практичное руководство.
Что внутри:
GitUnion || #Книги #Python
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1🔥1
Официальный репозиторий AtsushiSakai/PythonRobotics (GitHub) — это коллекция реализаций ключевых алгоритмов робототехники с наглядными примерами и визуализацией. Проект идеально подходит для изучения автономных систем, навигации и управления роботами.
Что внутри?
-Планирование пути (A*, RRT, Dijkstra)
-Динамическое управление (MPC, Pure Pursuit)
-SLAM (Картографирование и локализация)
-Мобильные роботы (дифференциальный привод)
-Дроны (квадрокоптеры)
-Манипуляторы (кинематика)
GitUnion || #Python #Репозитории
Please open Telegram to view this post
VIEW IN TELEGRAM
В Python существует возможность определения анонимных (безымянных) функций с использованием ключевого слова lambda. Данный инструмент предназначен для создания компактных однострочных функций, что особенно полезно в случаях, когда объявление отдельной функции через def избыточно.
-Имеют упрощённый синтаксис: lambda аргументы: выражение.
-Не требуют явного возврата (return) — результат выражения возвращается автоматически.
-Поддерживают множественные аргументы, но ограничены одним выражением.
Примеры применения:
Простое математическое выражение:
multiply = lambda x, y: x * y
print(multiply(3, 4)) # Результат: 12
Фильтрация списка:
numbers = [1, 2, 3, 4, 5]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers)) # [2, 4]
Сортировка сложных структур:
users = [{"name": "Alice", "age": 25}, {"name": "Bob", "age": 30}]
users_sorted = sorted(users, key=lambda user: user["age"]) # Сортировка по возрасту
Динамические вычисления:
result = (lambda a, b: a ** 2 + b ** 2)(3, 4) # 25
Преимущества и ограничения:
GitUnion || #Python #Статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1🔥1
Мощный инструментарий для Data Science! Книга раскрывает практическое применение линейной алгебры в анализе данных и машинном обучении.
Что внутри:
GitUnion || #Книги #Python
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1🔥1
Официальный репозиторий cosmicpython/book — это практическое руководство по построению гибких и поддерживаемых Python-приложений с использованием принципов чистой архитектуры и Domain-Driven Design (DDD).
Ключевые темы
GitUnion || #Python #Репозитории
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1🔥1
Практическое руководство по созданию интеллектуальных систем с нуля!
Что внутри:
GitUnion || #Книги #Python
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1🔥1
Официальный респозиторий markusschanta/awesome-jupyter — это исчерпывающая коллекция расширений, библиотек и ресурсов для работы с Jupyter Notebook/Lab. Идеальный гид для дата-сайентистов, исследователей и разработчиков!
- Альтернативные ядра (Python, R, Julia, Scala)
- Расширения для визуализации и интерактивности
- Google Colab, Kaggle, Binder
- Развертывание на сервере (JupyterHub)
- Примеры проектов
- Гайды по настройке
GitUnion || #Python #Репозитории
Please open Telegram to view this post
VIEW IN TELEGRAM
:=
— что это и зачем? В Python 3.8 появился новый оператор — :=
, также известный как моржовый (walrus). Он позволяет совмещать присваивание и выражение, делая код компактнее и удобнее в определённых сценариях.
Оператор
:=
присваивает значение переменной и одновременно возвращает его, что особенно полезно в условиях и других контекстах, где требуется и проверка, и сохранение значения.
Сокращает код — избавляет от лишних строк с предварительным присваиванием.
Улучшает читаемость — делает условия более компактными и выразительными.
Полезен в циклах и генераторах — упрощает работу с итеративными операциями.
Однако не стоит злоупотреблять
:=
там, где это усложняет понимание кода. Используйте его там, где он действительно делает код чище! GitUnion || #Python #Статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
Это инновационное руководство предлагает освоить Python через диалог с ИИ. Книга содержит 100 практических запросов к ChatGPT, которые помогут быстро изучить основы программирования.
Что внутри:
100 готовых промптов для эффективного обучения
GitUnion || #Книги #Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Это практическое руководство предлагает современные методы обработки больших данных с использованием PySpark. Книга охватывает ключевые концепции распределенных вычислений и машинного обучения в экосистеме Spark.
Что внутри:
GitUnion || #Книги #Python
Please open Telegram to view this post
VIEW IN TELEGRAM
Официальный репозиторий joaoventura/full-speed-python — это компактный и практический учебник по Python, который поможет быстро освоить язык и начать писать эффективный код. Идеальный выбор для тех, кто хочет изучить Python без лишней теории!
Что внутри?
- Переменные, типы данных, операторы
- Условные конструкции и циклы
- Функции и модули
- Работа с файлами и исключениями
- ООП (классы, наследование, полиморфизм)
- Генераторы, декораторы и контекстные менеджеры
- Парсинг данных
- Основы сетевого программирования
- Работа с базами данных (SQLite)
- Тесты для самопроверки
- Примеры кода с пояснениями
GitUnion || #Python #Репозитории
Please open Telegram to view this post
VIEW IN TELEGRAM
Это увлекательное руководство предлагает изучить Python через решение нестандартных задач и игровых проектов. Книга превращает обучение программированию в захватывающее приключение!
Что внутри:
GitUnion || #Книги
Please open Telegram to view this post
VIEW IN TELEGRAM
Вы когда-нибудь задумывались, как сделать ваши Python-классы быстрее и компактнее? В этом поможет __slots__ — мощный, но часто недооценённый инструмент!
По умолчанию Python хранит атрибуты объекта в динамическом словаре dict. Это удобно, но неэффективно по памяти и скорости.
__slots__ заменяет __dict__ на фиксированный набор атрибутов, что:
Просто определите slots в классе, перечислив разрешённые атрибуты:
class User:
__slots__ = ['name', 'age'] # Фиксируем допустимые атрибуты
def __init__(self, name, age):
self.name = name
self.age = age
Что изменилось?
→ Объекты больше не имеют dict.
→ Нельзя добавить атрибут, не указанный в slots (вызовет AttributeError).
Сравним потребление памяти для 1 млн объектов:
from sys import getsizeof
class RegularUser:
def __init__(self, name, age):
self.name = name
self.age = age
class SlotsUser:
__slots__ = ['name', 'age']
def __init__(self, name, age):
self.name = name
self.age = age
# Память для 1 млн объектов
regular = [RegularUser("Alex", 30) for _ in range(1_000_000)]
slots = [SlotsUser("Alex", 30) for _ in range(1_000_000)]
print(f"Обычный класс: {sum(getsizeof(o) for o in regular) / 1024**2:.1f} МБ")
print(f"__slots__: {sum(getsizeof(o) for o in slots) / 1024**2:.1f} МБ")
Обычный класс: 127.3 МБ
slots: 67.7 МБ # Экономия ~47% памяти!
-Массовое создание объектов (ORM, игры, научные вычисления).
-Жёсткий контроль атрибутов (например, в API или библиотеках).
-Критичные к памяти приложения (микроконтроллеры, большие массивы данных).
-Не работает с @property и некоторыми декораторами без дополнительных настроек.
-Нельзя добавить новые атрибуты динамически.
-Наследование требует аккуратности (если родитель имеет slots, ребёнок тоже должен их определить).
GitUnion || #Python #Статьи
Please open Telegram to view this post
VIEW IN TELEGRAM