Блог об обучении программированию — страница 2

Полезные статьи для новичков и родителей: с чего начать, какой язык выбрать и как учиться эффективно.

Как посчитать частоту символов
Подсчёт, сколько раз встретился каждый символ, — короткая, но очень полезная задача: на ней удобно понять словари.
Список дел в консоли
To-do-лист — классический первый проект: он собирает вместе списки, цикл и условия, а на выходе получается полезная программа.
Простой чат-бот на правилах
Чтобы сделать первого бота, нейросеть не нужна: достаточно набора правил «если услышал вот это — ответь вот так».
Как вывести числа Фибоначчи
В ряду Фибоначчи каждое число — сумма двух предыдущих: 0, 1, 1, 2, 3, 5, 8… Вывести его помогает цикл.
Как найти НОД двух чисел
НОД — наибольшее число, на которое делятся оба числа без остатка. В Python его находят готовой функцией или алгоритмом Евклида.
Как посчитать площадь и периметр
Расчёт площади и периметра — простая задача на формулы, переменные и арифметику. Разберём прямоугольник и круг.
Как перевести Цельсий в Фаренгейты
Перевод температуры — простая задача на формулу и арифметику. Отличная тренировка после изучения переменных.
Как проверить, простое ли число
Простое число делится только на 1 и на себя. Проверить это можно перебором делителей.
Как посчитать среднее арифметическое
Среднее арифметическое — это сумма чисел, делённая на их количество. В Python это буквально одна строка.
Как вывести таблицу умножения
Таблица умножения — отличная тренировка циклов. Начнём с одного числа, потом сделаем полную таблицу.
Как найти факториал числа
Факториал числа n — произведение всех чисел от 1 до n. В Python его считают циклом или готовой функцией.
Как проверить чётность числа
Число чётное, если делится на 2 без остатка. В Python остаток от деления даёт оператор %.
Как сложить два числа из ввода
Классическая первая задача: спросить два числа и вывести их сумму. Главная ловушка — тип данных.
Как прочитать ввод пользователя (input)
Функция input() позволяет программе спросить что-то у пользователя и получить ответ. Есть один важный нюанс — тип данных.
Как сделать обратный отсчёт
Обратный отсчёт — это цикл, который идёт от большего числа к меньшему. В Python это делает range с отрицательным шагом.
Как сгенерировать случайное число
Случайные числа в Python даёт модуль random. Его подключают одной строкой и используют пару простых функций.
Как отсортировать словарь по значению
Словарь сортируют не сам по себе, а его пары — по значению — с помощью sorted() и параметра key.
Как убрать дубликаты из списка
Убрать повторы из списка проще всего через множество (set), которое хранит только уникальные значения.
Как посчитать количество слов в тексте
Подсчитать слова в строке на Python можно в две операции: разбить текст на слова и посчитать их количество.
Как проверить палиндром
Палиндром — слово или число, которое читается одинаково слева направо и справа налево, например «шалаш». Проверяется в одну строку.
Как перевернуть строку
Развернуть строку задом наперёд в Python проще всего срезом с шагом −1.
Как найти максимум и минимум
Наибольший и наименьший элементы списка в Python находятся встроенными функциями max() и min().
Как посчитать сумму списка
Сложить все числа списка в Python можно одной командой — или циклом, если хочется понять, как это устроено.
Множество или список: в чём разница
Множество (set) хранит только уникальные значения без порядка. Это делает его удобным для особых задач.
Словарь или список: когда что
Список хранит значения по порядку, словарь — по имени-ключу. Выбор зависит от того, как вы будете искать данные.
Списки или кортежи: когда что
Список и кортеж похожи — оба хранят набор значений по порядку. Главное отличие — изменяемость.
Что такое if __name__ == "__main__"
Эта загадочная строка встречается почти в каждом Python-файле. На деле она отвечает на простой вопрос: запустили файл напрямую или импортировали.
Импорт: import, from, as
Импорт подключает к вашему коду чужой — модули стандартной библиотеки и установленные пакеты. Разберём три формы записи.
Что такое область имён (namespace)
Область имён — это «пространство», где живут имена переменных и функций. Благодаря ему одинаковые имена не мешают друг другу.
Свои исключения: raise
Иногда программа должна сама сообщить об ошибке — для этого есть raise. Разберём, зачем и как им пользоваться.
finally и else в try
У конструкции try есть два дополнительных блока — else и finally. Они делают обработку ошибок аккуратнее.
Исключения: как и зачем ловить
Иногда ошибка — не баг, а ожидаемая ситуация (неверный ввод). Такие ошибки ловят через try/except, чтобы программа не падала.
Полиморфизм простыми словами
Полиморфизм — когда один и тот же вызов работает по-разному для разных объектов. Звучит сложно, а на деле удобно.
Инкапсуляция для новичка
Инкапсуляция — это идея прятать внутренние данные объекта и давать к ним доступ только через методы. Разберём зачем.
Наследование на примере
Наследование позволяет создать класс на основе другого: он получает всё готовое и добавляет своё. Разберём на примере.
Магические методы для новичка
Магические методы — специальные методы с двойными подчёркиваниями, которые Python вызывает автоматически в нужный момент.
Атрибуты класса и экземпляра
У объектов бывают данные двух видов: общие для всех объектов класса и личные у каждого. Разберём разницу.
self простыми словами
self в методах класса пугает новичков, а значит просто: это сам объект, с которым сейчас работает метод.
__init__ шаг за шагом
__init__ — это метод, который настраивает новый объект при его создании. Его называют конструктором.
Что такое стек вызовов
Стек вызовов — это то, как Python помнит, какие функции сейчас выполняются и куда вернуться после каждой.
Рекурсия на примере факториала
Рекурсия — когда функция вызывает саму себя. Классический пример — факториал, на нём идея видна лучше всего.
Что такое побочный эффект функции
Функция может просто вернуть результат, а может ещё и что-то изменить вокруг — это и называют побочным эффектом.
Локальные и глобальные переменные
Где переменная создана — там она и «живёт». Понимание этого снимает частые вопросы «почему не видно значение».
*args и **kwargs простыми словами
Звёздочки в определении функции позволяют принимать сколько угодно аргументов. Разберём, что значат *args и **kwargs.
Аргументы по умолчанию: как и когда
Аргумент по умолчанию позволяет вызвать функцию без части параметров — они возьмут заранее заданное значение.
Функции как значения (первого класса)
В Python функция — такое же значение, как число или строка: её можно положить в переменную и передать другой функции.
and и or как выбор значения
В Python and и or не просто дают True или False — они возвращают одно из операндов. Это удобный приём.
Тернарный оператор в Python
Иногда простое «если — то — иначе» удобно записать в одну строку. Для этого есть тернарный оператор.
range в Python: все три параметра
range задаёт последовательность чисел для цикла. У него до трёх параметров, и понимание каждого снимает частые ошибки.
enumerate и zip простыми словами
Две удобные функции, которые делают циклы чище: одна добавляет нумерацию, другая идёт по двум спискам сразу.