Каталог каналов Мои подборки Мои каналы Поиск постов Рекламные посты
Инструменты
Каталог TGAds Мониторинг Детальная статистика Анализ аудитории Бот аналитики
Полезная информация
Инструкция Telemetr Документация к API Чат Telemetr
Полезные сервисы

Не попадитесь на накрученные каналы! Узнайте, не накручивает ли канал просмотры или подписчиков Проверить канал на накрутку
Прикрепить Телеграм-аккаунт Прикрепить Телеграм-аккаунт

Телеграм канал «Постоянный репозиторий по Python»

Постоянный репозиторий по Python
347
0
1
0
383
Подписчики
Всего
1 840
Сегодня
0
Просмотров на пост
Всего
187
ER
Общий
13.94%
Суточный
6.5%
Динамика публикаций
Telemetr - сервис глубокой аналитики
телеграм-каналов
Получите подробную информацию о каждом канале
Отберите самые эффективные каналы для
рекламных размещений, по приросту подписчиков,
ER, количеству просмотров на пост и другим метрикам
Анализируйте рекламные посты
и креативы
Узнайте какие посты лучше сработали,
а какие хуже, даже если их давно удалили
Оценивайте эффективность тематики и контента
Узнайте, какую тематику лучше не рекламировать
на канале, а какая зайдет на ура
Попробовать бесплатно
Показано 7 из 347 постов
Смотреть все посты
Пост от 17.06.2026 10:38
40
0
0
Знаете ли вы, что функции в Python – это обычные объекты?
 
Во многих языках функции – это что-то особенное.
 
В Python функции можно:
 
- сохранять в переменные;
- передавать как аргументы;
- возвращать из других функций;
- хранить в списках и словарях.
 
Например:
 
def greet(name):
    return f"Привет, {name}!"
 
say_hello = greet
 
print(say_hello("Артём"))
 
Результат:
Привет, Артём!
 
Хотя мы вызвали не greet(), а say_hello().
 
Зачем это вообще нужно?
 
Представьте калькулятор:
 
def add(a, b):
    return a + b
 
def multiply(a, b):
    return a * b
 
operations = {
    "+": add,
    "*": multiply
}
 
print(operations["*"](3, 4))
 
Результат:
12
 
То есть вместо длинных конструкций if-elif можно просто выбрать нужную функцию.
Где это используется на практике?
 
Вы удивитесь, но буквально везде:
 
✅ sorted(key=...)
 
sorted(words, key=len)
 
Здесь len передаётся как объект.
 
✅ map()
 
map(str.upper, words)
 
✅ декораторы
 
@login_required
def profile():
    ...
 
✅ обработчики событий в GUI
 
Почему это важно понимать?
 
Когда осознаёшь, что функция – это такой же объект, как число или строка, начинаешь писать гораздо более гибкий код.
 
И многие «магические» конструкции Python становятся понятными.
 
Интересный факт
 
Проверить, что функция – это объект, можно так:
 
print(type(len))
 
Получите:
<class 'builtin_function_or_method'>
 
Вывод
 
В Python функции – это данные.
 
Именно благодаря этому язык поддерживает:
 
- декораторы;
- функциональный стиль;
- гибкие API;
- множество элегантных решений.
🔥 2
🤝 2
1
Пост от 08.06.2026 09:44
43
0
0
Пост от 08.06.2026 09:44
42
0
0
👍 1
Пост от 05.06.2026 13:09
69
0
0
Знаете ли вы, что переменные можно менять местами без временной переменной?
 
Во многих языках программирования для обмена значений приходится использовать дополнительную переменную:
 
a = 10
b = 20
 
temp = a
a = b
b = temp
 
В Python всё гораздо проще:

a = 10
b = 20
 
a, b = b, a

После выполнения:

a = 20
b = 10

Как это работает?
На самом деле Python сначала формирует кортеж: (b, a)
а затем распаковывает его обратно: a, b = (20, 10)

Поэтому обмен происходит корректно и без потери данных.

Но этим возможности распаковки не ограничиваются

Можно сразу получать несколько значений:
name, age, city = ("Artem", 37, "Moscow")
Или разделять начало и конец последовательности:
first, *middle, last = [1, 2, 3, 4, 5]
 
Результат:
 
first  -> 1
middle -> [2, 3, 4]
last   -> 5

Где это полезно?

✅ Обмен переменных
✅ Возврат нескольких значений из функции
✅ Обработка CSV и таблиц
✅ Работа с координатами
✅ Разбор данных из API

Интересный факт

Многие считают, что это просто красивый синтаксис.
На самом деле распаковка кортежей — одна из ключевых идей Python, которая используется буквально повсюду:
- в циклах через enumerate()
- в zip()
- при возврате нескольких значений из функций
- в pattern matching (Python 3.10+)
🔥 3
👍 1
🤝 1
Пост от 30.05.2026 10:05
147
0
0
Пост от 30.05.2026 10:05
145
0
0
Пост от 25.05.2026 09:22
263
0
0
Почему range()– это не список (и почему это круто)

Многие думают, что: range(1_000_000) создаёт огромный список чисел в памяти.
Но на самом деле – нет 😎

Что такое range() на самом деле

range() – это специальный объект, который:
·      НЕ хранит все числа сразу
·      генерирует значения по мере необходимости
·      занимает очень мало памяти
 
Почему это важно

Сравним две конструкции:
 
numbers = list(range(1_000_000))
и
numbers = range(1_000_000)
Во втором случае память почти не расходуется.
Потому что Python не создаёт миллион объектов заранее.

Как это работает
range() хранит только:
·      начало
·      конец
·      шаг
А нужное число вычисляет «на лету». Поэтому можно спокойно писать:

for i in range(10_000_000):
    ...
 
и не бояться, что память мгновенно закончится.
 
Почему это пример хорошего дизайна Python
 
Python старается:
 
·      не делать лишнюю работу
·      не создавать лишние объекты
·      вычислять данные тогда, когда они реально нужны
 
Это называется ленивыми вычислениями (lazy evaluation).
 
Где это особенно важно
 
·      обработка больших данных
·      ETL-пайплайны
·      генерация последовательностей
·      работа с файлами
·      стриминг данных
 
Частая ошибка ❌
 
list(range(...))
 
Люди часто превращают range в список без необходимости.
А потом удивляются расходу памяти.
 
Когда список всё-таки нужен
Только если:
нужен случайный доступ с изменением
нужны методы списка
данные действительно должны храниться целиком
 
Главное правило
Если можно не создавать список — лучше его не создавать.
 
Вывод
range() – отличный пример того, как Python экономит память и делает код эффективнее без лишней магии.
3
🔥 2
😁 1
Смотреть все посты