Logo
TGCATALOG
Каталог Подборки Блог
Код на салфетке - Python кодинг

Код на салфетке - Python кодинг

Канал о программировании на Python и других языках. Простые объяснения и коды.

Нет оценок
318
27.10.2026
318
27.10.2026
Нет оценок
318
27.10.2026
Безопасный переход через бот
О канале

Канал о программировании на Python и других языках. Простые объяснения и коды.

Подписчиков 2,347
Тематика Технологии
Язык Русский
Ссылка t.me/napkincode

Также рекомендуем

Kekaton AI | Озвучка и клон голоса
Kekaton AI | Озвучка и клон голоса
Бот

AI бот для озвучки текста и клонирования голоса в Telegram. Создавай аудио с помощью нейросети быстро и просто.

Описание

Ресурс для интересующихся программированием. Фокус на Python, но охватывает и другие темы. Простые примеры и разборы.

Последние посты

Код на салфетке - Python кодинг
Код на салфетке - Python кодинг
🔒Открыть пост
и посмотреть медиа
Знаете ли вы, что [[]] * 3 в Python – это три ссылки на один список, а не три списка? Удобный способ создать матрицу нулей [[0] * 3] * 3 оборачивается ловушкой: одно изменение элемента меняет сразу все строки. Причина в том, что * на последовательности повторяет ссылки, а не копирует объекты. Внутренний список создается один раз, а внешнее умножение дает три ссылки на него. Классика – матрица 3×3: matrix = [[0] * 3] * 3 matrix[0][0] = 1 print(matrix) # [[1, 0, 0], [1, 0, 0], [1, 0, 0]] – здесь изменились все строки matrix[0], matrix[1] и matrix[2] – один и тот же объект. Запись в любой из рядов видна через остальные, потому что ряд по сути один. Проверить это можно через id(): rows = [[]] * 3 print(id(rows[0]) == id(rows[1]) == id(rows[2])) # True rows[0].append("a") print(rows) # [['a'], ['a'], ['a']] – один список под тремя именами Все три элемента указывают на один и тот же пустой список. append на любом из них дописывает в этот единственный список, и изменение видно через все остальные ссылки. Правильный способ – list comprehension, который создает новый объект на каждой итерации: matrix = [[0] * 3 for _ in range(3)] matrix[0][0] = 1 print(matrix) # [[1, 0, 0], [0, 0, 0], [0, 0, 0]] – так изменилась только первая строка Внутреннее [0] * 3 тоже умножение, но там оно безопасно: нули неизменяемы, и наличие тысячи ссылок на один и тот же 0 ничего не ломает. Проблема возникает только когда * повторяет ссылку на изменяемый объект – список, словарь, set. * на последовательности экономит память, повторяя ссылки. Для неизменяемых элементов это незаметно, для изменяемых – ломает изоляцию между "копиями". Вложенные структуры безопаснее создавать через list comprehension. В следующий вторник – + и reflected operators: как Python решает чей метод звать, когда складываются объекты разных типов, и при чем тут __radd__. Код на салфетке x Кусочки кода
Код на салфетке - Python кодинг
Динамика подписчиков
+-0.4% за 30 дней
Текущие
2,347
Месяц назад
2,356
Средний рост
+0 / день
Обновлено
1 день назад

Отзывы о канале Код на салфетке - Python кодинг

Авторизуйтесь, чтобы оставить отзыв

Только зарегистрированные пользователи могут делиться своим мнением.

Пока нет отзывов

Станьте первым, кто поделится своим впечатлением об этом ресурсе!

Похожие ресурсы

Loading
Переход на светлую тему
Главная Каталог Подборки Блог Вход