Справочник
Python простыми словами
279 понятий курса «Python с нуля до Junior» — от print до FastAPI. Каждое объяснено простыми словами, со сравнением из жизни и примером, который можно запустить в уроке. А ещё — разбор ошибок Python: что значит сообщение и как его исправить.
Ничего не нашлось. Попробуй другое слово.
Ошибки Python
TypeErrorДействие не подходит к типу значения.SyntaxErrorPython не смог прочитать программу.OperationalErrorОшибка базы данных SQLite.NameErrorPython встретил имя, которого не знает.ValueErrorТип подходит, а значение — нет.AttributeErrorУ значения нет такого метода или свойства.IndentationErrorНеправильный отступ — пробелы в начале строки.IntegrityErrorБаза данных отказалась сохранять запись.IndexErrorОбращение к элементу списка или символу строки по номеру, которого нет.UnsupportedOperationФайл открыт не в том режиме.AssertionErrorПроверка assert не прошла.ProgrammingErrorНеправильно составлен запрос к базе данных SQLite.TabErrorВ отступах смешаны табуляция и пробелы.ZeroDivisionErrorДеление на ноль.KeyErrorВ словаре нет такого ключа.UnboundLocalErrorПеременную внутри функции используют раньше, чем ей дали значение.RecursionErrorФункция вызывает сама себя слишком много раз и не останавливается.FileNotFoundErrorФайла с таким именем нет там, где его ищет программа.UnicodeDecodeErrorФайл записан в другой кодировке, и Python не может прочитать в нём буквы.ModuleNotFoundErrorPython не нашёл модуль из import.JSONDecodeErrorТекст не похож на правильный JSON.EOFErrorПрограмма ждала ввод с клавиатуры, а ввода не оказалось.ValidationErrorPydantic проверил данные и нашёл несоответствие.MissingSchemaВ адресе для requests нет начала http.ConnectionErrorНе удалось соединиться с сервером.ReadTimeoutСервер не ответил за отведённое время.HTTPErrorСервер ответил ошибкой (например, 404 или 500), и raise_for_status() её поднял.NotImplementedErrorМетод объявлен, но ещё не написан — его нужно реализовать.
Модуль 0 · бесплатноСтарт
- ПрограммаПрограмма — как рецепт. Компьютер делает шаги по порядку и ничего не додумывает.
- Команда printprint — как сказать вслух. Что в скобках, то и появится на экране.
- Текст в кавычкахТекст в кавычках — как подарок в упаковке. На экране только подарок, без упаковки.
- Сообщение об ошибкеСообщение об ошибке — как пометка учителя на полях. Оно показывает, где поправить, и ничего не ломает.
- Идти вперёдforward — как вести карандаш по линейке. Перо идёт вперёд и оставляет линию.
- Поворотleft и right — как повернуться на месте. Стоишь там же, но смотришь в другую сторону.
- Цвет и толщина пераcolor и pensize — как выбрать фломастер. Можно взять другой цвет или потолще.
- КомментарийКомментарий — как наклейка-заметка в учебнике. Тебе подсказка, а Python её пропускает.
- Прыжок пераpenup и goto — как поднять карандаш и поставить его в другом месте листа. Линии между ними нет.
Модуль 1 · бесплатноЧисла, переменные и ввод
- ЧислоЧисло — как цифры на калькуляторе. Пишешь без кавычек, и Python с ним считает.
- Сложить, вычесть, умножить, разделитьПлюс, минус, звёздочка и косая черта — как кнопки калькулятора. Звёздочка умножает, черта делит.
- Порядок действийПорядок действий — как на уроке математики. Сначала умножение и деление, потом плюс и минус, а скобки главнее всех.
- Несколько значений в printЗапятые в print — как пробелы между словами. Python сам ставит пробел между значениями.
- ПеременнаяПеременная — как коробка с подписью. Снаружи имя, внутри значение.
- Новое значениеНовое значение — как заменить вещь в коробке. Python сначала считает то, что справа, потом кладёт ответ, а старое исчезает.
- Правила для имёнИмя переменной — как адрес на письме. Ошибся в одной букве, и Python не найдёт коробку.
- Имя и текст — разноеИмя без кавычек и слово в кавычках — как кошка и надпись «кошка». Первое — сама вещь, второе — только буквы.
- Спросить человекаinput — как вопрос на уроке. Программа ждёт, пока человек ответит и нажмёт Enter.
- Ответ — всегда текстОтвет из input — как записка. Даже «12» на ней — только надпись, а не число.
- Склейка текстаПлюс между текстами — как склеить две полоски бумаги. Пробел между ними ставишь сам.
- СтрокаСтрока — как бусины на нитке. Каждая бусина — буква, цифра, пробел или знак.
- Повтор текстаТекст со звёздочкой и числом — как штамп. Шлёпнул три раза — три одинаковые картинки.
- Длина текстаlen — как посчитать бусины на нитке. Пробел тоже бусина.
- F-строкаf-строка — как открытка с пропуском для имени. Python сам впишет значения из фигурных скобок.
- Целые и дробные числаint и float — как целые яблоки и дольки. Целые числа пишут без точки, дробные с точкой.
- Int() — в целое числоint — как превратить надпись «5» в пять настоящих конфет. Теперь их можно складывать.
- Float() — в дробное числоfloat — как int, только для дробных чисел. Надпись с точкой станет числом, с которым можно считать.
- Str() — в текстstr — как написать число на бумажке. Считать бумажкой нельзя, а приклеить к другому тексту можно.
- Деление нацелоДве косые черты — как разложить конфеты по пакетикам. Ответ — сколько пакетиков набралось целиком.
- Остаток от деленияЗнак процента — как конфеты, которые остались после дележа. Ноль значит, что поделили без остатка.
- СтепеньСтепень — как повторное умножение. Два в третьей степени — это два на два на два, то есть восемь.
- Округлениеround — как округлить цену в магазине. Второе число говорит, сколько цифр оставить после точки.
Модуль 2Условия и логика
- СравнениеСравнение — как весы. Python кладёт два значения и отвечает «да» или «нет»: больше ли, равны ли.
- True и FalseTrue и False — как лампочка. Горит или не горит, третьего не бывает.
- = и == — разные знакиОдин знак равно — как приказ «положи в коробку». Два знака — вопрос «одинаково ли?».
- Еслиif — как развилка с табличкой. Ответ True — идём по дорожке внутри, False — проходим мимо.
- Иначеelse — как запасная дорожка. По ней идут, когда в if ответ False.
- ОтступОтступ — как абзац в тетради. Сдвинутые строчки живут внутри if, остальные — снаружи.
- Ещё вариантelif — как выбор одежды по погоде. Дождь — куртка, холод — свитер, жара — футболка: берёшь первое, что подошло.
- Порядок проверокПорядок проверок — как медали: сначала золото, потом серебро. Начнёшь с серебра — золота не будет ни у кого.
- Если внутри еслиif внутри if — как матрёшка. Маленькую куклу видно, только если открыли большую.
- И, илиand — как два замка на двери: нужны оба ключа. or — как две двери в дом: хватит любой.
- Неnot — как кнопка «наоборот». Было True — стало False.
- Цепочка сравненийЦепочка сравнений — как отрезок на линейке. Число должно поместиться между двумя отметками.
- МетодМетод — как кнопка на пульте у значения. Пишешь значение, точку и название кнопки.
- Lower() и upper()upper и lower — как фильтр для фото. Получаешь новую картинку, а старая остаётся прежней.
- Strip() — убрать лишние пробелыstrip — как подрезать края листа. Пробелы в начале и в конце исчезают.
- In — искать внутриin — как поиск слова на странице. Python отвечает True, если кусочек нашёлся.
Модуль 3Циклы
- Цикл whilewhile — как правило «пока в тарелке есть суп, ешь». Python повторяет, пока ответ True.
- Проверка перед кругомПроверка перед кругом — как контролёр у карусели. Перед каждым новым кругом он снова смотрит билет.
- СчётчикСчётчик — как шагомер. Каждый круг добавляет единицу.
- Бесконечный циклБесконечный цикл — как беговая дорожка, которую забыли выключить. Её останавливают кнопкой «Стоп».
- Цикл forfor — как перекличка. Каждого называют по очереди, и с каждым делают одно и то же.
- Range(n)range от пяти — как пять ступенек, пронумерованных с нуля. Ноль, один, два, три, четыре, а пятёрки нет.
- Range(a, b)range от двух до шести — как читать страницы со второй по пятую. Шестую уже не читаем.
- Range(a, b, шаг)Шаг в range — как прыгать через ступеньки. Шаг три даёт ноль, три, шесть, девять.
- While Truewhile True — как карусель без конца. Она крутится, пока кто-то не нажмёт break.
- Breakbreak — как кнопка «Выход». Цикл сразу заканчивается.
- Continuecontinue — как пропустить песню в плеере. Остаток круга пропускается, и начинается следующий.
- Накопление суммыНакопление суммы — как копилка. До цикла она пустая, а на каждом круге кладём ещё монету.
- Счёт подходящихСчёт подходящих — как считать красные машины за окном. Единицу прибавляешь только за красную.
- Поиск наибольшегоПоиск наибольшего — как рекорд в прыжках. Кто-то прыгнул дальше — рекорд переписывают.
- Цикл в циклеЦикл в цикле — как стрелки часов. Минутная делает целый круг, пока часовая сдвигается на один шаг.
- Print с endend в print — как писать без Enter. Следующий print продолжит ту же строчку.
- Модуль и importimport — как достать ящик с инструментами. Пока ящик закрыт, молотка под рукой нет.
- Random.randint(a, b)random.randint — как бросить кубик. От одного до шести, обе границы входят.
- Random.choice(текст)random.choice — как вытянуть одну карточку из мешка. Какая выпадет, заранее неизвестно.
Модуль 4Списки и текст
- СписокСписок — как полка с ячейками. В каждой ячейке лежит своё значение.
- ИндексИндекс — как номер ячейки на полке. Счёт идёт с нуля: первая ячейка — нулевая.
- Индекс с концаМинус один — как последний вагон поезда. Минусом считают с хвоста.
- Замена элементаЗамена элемента — как положить в ячейку другую вещь. Пишешь номер ячейки и новое значение.
- Метод appendappend — как встать в конец очереди. Новый элемент становится последним.
- Метод insertinsert — как поставить книгу на полку между другими. Остальные книги сдвигаются.
- Методы remove и popremove и pop — как вычеркнуть пункт из списка дел. pop ещё и отдаёт вычеркнутое тебе в руки.
- Проверка in для спискаin — как найти имя в списке гостей. Ответ True или False.
- Цикл по спискуЦикл по списку — как перекличка: каждого зовут по очереди. Переменная цикла — это тот, кого зовут сейчас.
- Sum, min, maxsum, min и max — как итоги игры. Сумма очков, худший и лучший результат.
- Сортировкаsorted — как разложить по порядку копии карточек. А sort меняет порядок в самой стопке.
- Range(len(...))range от длины — как идти по квартирам и смотреть на номер каждой. По номеру достаёшь нужный элемент.
- СрезСрез — как отрезать кусок батона. Указываешь, откуда и докуда, а последний номер не входит.
- Шаг срезаШаг среза — как брать из ряда каждую вторую конфету.
- РазворотСрез с минус единицей — как прочитать слово задом наперёд.
- Метод splitsplit — как ножницы. Режешь фразу по пробелам и получаешь список слов.
- Метод joinjoin — как нанизать слова на нитку. То, что стоит перед точкой, окажется между словами.
- Метод replacereplace — как переписать стишок, меняя одно слово на другое. Получается новый текст, старый не меняется.
- Find и countfind — как найти слово в книге и запомнить, где оно начинается. count считает, сколько раз оно встретилось.
- Два имени — один списокДва имени у одного списка — как два ключа от одной квартиры. Что поменял один, увидит и другой.
- Копия спискаcopy — как сделать копию рисунка. Раскрашиваешь копию, а оригинал остаётся чистым.
- Меняется или нетСписок — как рисунок карандашом: можно стереть и поправить. Текст — как напечатанная страница: можно только напечатать новую.
- Список одной строчкойСписок одной строчкой — как конвейер. Каждый элемент проходит через станок и падает в новый список.
- Условие в спискеif в конце — как сито на конвейере. В новый список попадают только подходящие.
- Список списковСписок списков — как клетки в тетради. Сначала номер ряда, потом номер клетки в нём.
Модуль 5Функции
- Defdef — как записать рецепт на карточку и подписать её. Записали, но пока ничего не готовили.
- Вызов функцииВызов — как достать карточку и приготовить по рецепту. Пишешь имя и скобки, и все шаги выполняются.
- Не повторятьсяФункция — как кнопка, которую можно нажимать снова и снова. Написал один раз — пользуйся сколько хочешь.
- ПараметрПараметр — как пустая строчка в анкете. Её заполнят, когда функцию вызовут.
- АргументАргумент — как ответ, вписанный в пустую строчку анкеты. Его пишут в скобках при вызове.
- Несколько параметровНесколько параметров — как несколько строчек в анкете. Ответы вписывают по порядку, сверху вниз.
- Именованные аргументыИменованный аргумент — как подписать ответ: «возраст — десять». Тогда порядок не важен.
- Returnreturn — как официант, который приносит готовое блюдо. Ответ возвращается туда, где функцию позвали.
- Return и print — разныеprint — как крикнуть ответ в комнату. return — как передать записку в руки: её можно сохранить.
- NoneNone — как пустой конверт. Функция без return отдаёт именно его.
- Функция вызывает функциюФункция в функции — как эстафета. Одна передаёт ответ другой, и та работает дальше.
- Значение по умолчаниюЗначение по умолчанию — как запасной ответ в анкете. Если строчку не заполнили, берут его.
- Локальная переменнаяЛокальная переменная — как запись мелом на доске. После урока её стирают, а за дверью её не видно.
- Глобальная переменнаяГлобальная переменная — как объявление в школьном коридоре. Его видят все, но исправлять его изнутри функции не стоит.
- Описание функцииОписание функции — как надпись на коробке с игрушкой. Сразу понятно, что внутри и как этим пользоваться.
- Подсказки типовПодсказки типов — как надпись «только для книг» на полке. Python не проверяет, но людям понятнее.
- Хорошие именаХорошее имя — как подпись на папке. По ней сразу ясно, что внутри.
- Функция mainmain — как оглавление книги. Глядя на него, видно, что программа делает по порядку.
- *argsЗвёздочка в параметре — как корзина. В неё кладут сколько угодно покупок.
- Функция как значениеФункция в параметре — как дать другу рецепт, а не готовый торт. Друг приготовит сам, когда нужно.
Модуль 6Словари, кортежи, множества
- СловарьСловарь — как настоящий словарь: слово и его перевод. По слову находишь перевод.
- Ключ и значениеКлюч и значение — как номер шкафчика и то, что в нём лежит. Номер у каждого шкафчика свой.
- Значение по ключуЗначение по ключу — как найти контакт в телефоне по имени. Листать по номерам не нужно.
- Добавить и изменитьЗапись по ключу — как ценник. Ключ уже есть — цена меняется, ключа нет — вешаем новый ценник.
- Обход словаряОбход словаря — как пройти вдоль шкафчиков. Можно читать номера, содержимое или всё сразу.
- Распаковка парыРаспаковка пары — как достать из коробки два предмета и дать каждому имя.
- Get со значениемget — как сказать продавцу: «Если сыра нет, дайте хлеб». Ошибки не будет.
- Удалить ключdel — как снять ценник с полки. Пара исчезает из словаря.
- КортежКортеж — как запечатанный конверт. Читать можно, исправлять нельзя.
- МножествоМножество — как список гостей, где каждое имя записано один раз. Повторы пропадают сами.
- Операции над множествамиДействия с множествами — как два кружка. Кто ходит в оба, кто хотя бы в один и кто только в первый.
- **kwargsДве звёздочки в параметре — как коробка подписанных конвертов. Каждое значение лежит под своим названием.
- Список словарейСписок словарей — как стопка анкет. У каждой одни и те же графы, а ответы разные.
- Словарь списковСловарь списков — как шкафчик, где лежит несколько вещей. По номеру шкафчика достаёшь целый набор.
- Счёт через словарьСчёт через словарь — как подсчёт голосов на выборах старосты. У каждого имени своя строчка с палочками.
Модуль 7Ошибки и отладка
- Сообщение об ошибкеСообщение об ошибке — как записка от Python. Читай последнюю строчку: там название ошибки и пояснение.
- Виды ошибокНазвания ошибок — как диагноз у врача. По названию сразу ясно, где искать беду.
- Синтаксис, выполнение, логикаТри вида ошибок — как опечатка, яма на дороге и неверный ответ в задаче. Последний Python не видит, ищи сам.
- Try и excepttry и except — как батут под канатоходцем. Упал — не разбился, а мягко приземлился в except.
- Ловим нужную ошибкуНазвание ошибки после except — как ловить только мяч. Остальное пусть пролетает, чтобы ты его заметил.
- ИсключениеИсключение — как пожарная тревога в программе. Всё останавливается, пока кто-то не ответит.
- Finallyfinally — как выключить свет, уходя из комнаты. Это делают всегда, что бы ни случилось.
- Raiseraise — как поднять флажок «стоп». Функция сама сообщает: мне дали плохие данные.
- Проверка вводаПроверка ввода — как охранник на входе. Сначала он проверяет, что всё в порядке, и только потом пускает дальше.
- Отладочный printОтладочный print — как фонарик в тёмной комнате. Видно, что лежит в переменных в каждый момент.
- Шаг за шагомШаг за шагом — как идти по карте, водя пальцем. После каждой строчки записывай значения.
- Сужаем поискПоиск пополам — как игра «горячо — холодно». С каждым шагом ты всё ближе к ошибке.
- Объяснить уточкеОбъяснить уточке — как рассказать другу про задачу. Пока рассказываешь, сам замечаешь, где не сходится.
Модуль 8Файлы, CSV, JSON
- Openopen — как открыть тетрадь по надписи на обложке. Тетрадь должна лежать рядом с программой.
- Withwith — как дверь с доводчиком. Файл закроется сам, когда блок закончится.
- Чтение файлаЧтение файла — как чтение книги. Можно целиком, а можно по одной строчке.
- КодировкаКодировка — как общая азбука. Если писать одной азбукой, а читать другой, получатся каракули.
- Запись в файлwrite — как писать ручкой в тетради. Новую строчку нужно начать самому.
- Режимы w и aРежим w — как чистый лист: старое стирается. Режим a — как следующая страница дневника.
- Перенос строчкиЗнак переноса — как нажатый Enter. Он невидимый, но после него начинается новая строчка.
- CSVCSV — как таблица, где столбцы разделены запятыми. Каждая строчка файла — один ряд.
- JSONJSON — как общий язык для программ. Его понимают и Python, и сайты, и телефоны.
- JSON и словариJSON и словари — как достать вещи из коробки, переложить и сложить обратно. Прочитал, поменял, сохранил.
Модуль 9Объекты и классы
- ОбъектОбъект — как кошка. У неё есть имя и возраст, и она умеет мяукать.
- АтрибутАтрибут — как графа в карточке питомца: имя или возраст. Его читают через точку.
- Класс как чертёжКласс — как форма для печенья. Форма одна, а печенья разные.
- Classclass — как чертёж новой игрушки. По нему можно собрать сколько угодно игрушек.
- __init____init__ — как заполнить карточку питомца в день, когда он появился. Он запускается сам при создании объекта.
- Selfself — как слово «я». Объект говорит о себе: моё имя, мой возраст.
- Создать объектСоздать объект — как вырезать печенье формой. Каждое печенье получает свои данные.
- Метод классаМетод класса — как умение кошки мяукать. Это функция, которая живёт внутри класса.
- Изменение состоянияИзменение состояния — как заряд телефона. Объект помнит, что с ним было, и меняется от действий.
- __str____str__ — как подпись под фотографией. Он говорит, как показать объект в print.
- Список объектовСписок объектов — как стопка карточек игроков. Цикл берёт их по одной.
- Объекты вместеОбъекты вместе — как герой и монстр в игре. Метод героя меняет здоровье монстра.
- Атрибут классаАтрибут класса — как правила игры. Они одни на всех игроков.
- НаследованиеНаследование — как ребёнок в семье. Он умеет всё, что умеют мама и папа, и ещё своё.
- Supersuper — как попросить маму сделать её часть. А потом ты добавишь своё.
- ПереопределениеПереопределение — когда ребёнок делает по-своему. Его метод главнее метода родителя.
- _скрытоеНижняя черта в начале имени — как табличка «только для персонала». Python пустит, но так не принято.
- Propertyproperty — как окошко кассы. Снаружи похоже на обычное значение, а внутри работает проверка или подсчёт.
- __repr__ и __eq__Особые методы — как тайные кнопки. Python нажимает их сам: при print и при сравнении.
Модуль 10Python на своём компьютере
- ИнтерпретаторИнтерпретатор — как переводчик рядом с тобой. Он читает код строчку за строчкой и сразу выполняет.
- Установка PythonУстановка Python — как установка новой игры. Скачал, установил, проверил версию.
- ТерминалТерминал — как переписка с компьютером. Ты пишешь команду, он отвечает текстом.
- Cd, ls, pwdpwd, ls и cd — как прогулка по дому. pwd — где я, ls — что в комнате, cd — иду в другую.
- Редактор кодаРедактор кода — как удобная тетрадь для кода. Он подсвечивает слова и замечает ошибки.
- Файл .pyФайл с программой — как рецепт на карточке. Его имя заканчивается на .py.
- Запуск файлаЗапуск файла — как нажать «Играть» в игре. Только стоять нужно в той папке, где лежит файл.
- Pippip — как магазин приложений. Одна команда, и пакет уже у тебя.
- Виртуальное окружениеОкружение — как отдельный пенал для каждого проекта. Пакеты из разных пеналов не путаются.
- Requirements.txtrequirements.txt — как список покупок. По нему на другом компьютере ставят те же пакеты.
- Свой модульСвой модуль — как глава книги в отдельном файле. Её можно взять в другой файл через import.
- ПакетПакет — как папка с главами. В ней лежат модули и файл __init__.py.
- If __name__ == '__main__'Проверка на main — как повар. Позвали готовить — готовит, попросили только рецепт — плиту не включает.
Модуль 11Git и GitHub
- РепозиторийРепозиторий — как папка проекта с дневником. В дневнике записано каждое изменение.
- КоммитКоммит — как сохранение в игре с подписью. К любому сохранению можно вернуться.
- Status и loggit status и git log — как проверить карманы и пролистать дневник. Что изменилось сейчас и что было раньше.
- .gitignore.gitignore — как список вещей, которые не берут в поход. Git их не замечает.
- ВеткаВетка — как черновик рядом с чистовиком. Пробуй что хочешь, чистовик не пострадает.
- Переключение ветокgit switch — как перейти в соседнюю комнату. В каждой комнате своя версия файлов.
- СлияниеСлияние — как вклеить удачные страницы из черновика в чистовик.
- Удалённый репозиторийУдалённый репозиторий — как копия игры в облаке. Сломается компьютер — проект не пропадёт.
- Pushpush — как загрузить свои сохранения в облако.
- Pull и cloneclone — как скачать проект целиком. pull — как подтянуть свежие изменения.
- Конфликт слиянияКонфликт слияния — как двое, которые исправили одно слово по-разному. Git не выбирает сам, выбираешь ты.
Модуль 12Тесты
- ТестТест — как контрольная для функции. Ответы известны заранее, и проверка идёт сама.
- Assertassert — как контролёр. Верно — пропускает дальше, неверно — останавливает программу.
- Ожидание и результатОжидание и результат — как ответ в конце учебника и твой ответ. Совпали — всё верно.
- Pytestpytest — как учитель, который проверяет все контрольные сразу. Он сам находит тесты и пишет итог.
- Файл test_*.pyФайл с тестами — как тетрадь для контрольных. Его имя начинается со слова test, и pytest сам его находит.
- Отчёт о тестахОтчёт pytest — как табель. Точка — пятёрка, буква F — двойка, а внизу итог.
- Упавший тестУпавший тест — как красная пометка учителя. Видно, что ждали и что получилось.
- Граничные случаиГраничные случаи — как края стола: падают именно оттуда. Проверяй ноль, пустоту и саму границу.
- Parametrizeparametrize — как одна контрольная с разными вариантами. Тест один, а данных много.
- Проверка ошибкиПроверка ошибки — как учебная пожарная тревога. Проверяем, что сигнал сработает, когда нужно.
- Сначала тестСначала тест — как нарисовать мишень, а потом стрелять. Тест показывает цель, а код в неё попадает.
Модуль 13Интернет и API
- Запрос и ответЗапрос и ответ — как заказ в кафе. Ты просишь, а тебе приносят.
- GET и POSTGET и POST — как взять книгу в библиотеке и сдать свою. GET просит данные, POST отправляет.
- Адрес (URL)URL — как адрес дома: город, улица, квартира. По нему находят нужное место в интернете.
- Код ответаКод ответа — как оценка за ответ. Двести — всё хорошо, четыреста четыре — такого нет.
- Requests.getrequests.get — как почтальон. Он сходит по адресу и принесёт ответ.
- Ответ в JSONОтвет в JSON — как письмо, которое сразу перевели на язык Python. Получается обычный словарь.
- Параметры запросаПараметры запроса — как уточнения к заказу: без лука, с сыром. Их кладут в словарь params.
- ТаймаутТаймаут — как правило «жду друга не дольше пяти минут». Не пришёл — идём дальше.
- Ключ APIКлюч API — как пропуск в здание. Без него сервис не пускает.
- Переменные окруженияФайл .env — как ключ в кармане, а не на двери. Код видят все, а секрет остаётся у тебя.
- Ошибки сетиОшибки сети — как звонок, на который никто не ответил. Программа должна это пережить.
- Лимит запросовЛимит запросов — как аттракцион, куда за раз пускают троих. Остальные ждут и пробуют снова.
- API ботаAPI бота — как почтовый ящик. Бот забирает оттуда письма и кладёт туда ответы.
- Токен ботаТокен — как ключ от этого ящика. Отдашь чужому — он сможет писать от имени бота.
- Опрос обновленийОпрос — как снова и снова заглядывать в почтовый ящик: есть новые письма?
- Отправка сообщенияsendMessage — как письмо с адресом. Нужны номер чата и текст.
- Состояние диалогаСостояние диалога — как закладка в книге у каждого читателя. Бот помнит, где остановился каждый.
Модуль 14Базы данных и SQL
- База данныхБаза данных — как огромный школьный журнал. Всё записано по порядку, и любую запись находят мгновенно.
- ТаблицаТаблица — как таблица в тетради. Столбцы — что храним, ряды — записи.
- Первичный ключПервичный ключ — как номер на футболке игрока. В команде у каждого свой.
- CREATE TABLECREATE TABLE — как расчертить пустую таблицу в тетради. Сначала пишут названия столбцов и что в них хранить.
- SELECTSELECT — как попросить: «Покажи мне имена и цены». База показывает только нужные столбцы.
- WHEREWHERE — как сито. Проходят только ряды, которые подходят под условие.
- ORDER BYORDER BY — как выстроиться по росту. DESC — начиная с самого высокого.
- LIMITLIMIT — как взять три верхние карточки из стопки.
- INSERTINSERT — как вписать новую строчку в конец журнала.
- UPDATEUPDATE — как исправить ответ в тетради. WHERE говорит, где именно исправлять.
- DELETEDELETE — как вырвать страницы из тетради. Без WHERE вырвешь все.
- Внешний ключВнешний ключ — как подпись автора на рисунке в общей папке. По ней находят автора в списке класса.
- JOINJOIN — как положить рядом список учеников и список рисунков. По подписи видно, кто что нарисовал.
- GROUP BYGROUP BY — как разложить письма по ящикам. Потом считаем письма в каждом ящике.
- Sqlite3connect и cursor — как открыть дверь библиотеки и позвать библиотекаря. Через него идут все вопросы.
- Execute и fetchexecute и fetchall — как задать вопрос библиотекарю и получить стопку ответов.
- Параметры ?Знаки вопроса — как бланк с клеточками. Ответ вписывают только в клеточку, остальной текст не тронешь.
- Commitcommit — как кнопка «Сохранить». Без неё изменения пропадут.
- Схема базыСхема базы — как план комнаты перед расстановкой мебели. Сначала решаешь, что где стоит, потом носишь.
Модуль 15Веб-приложение на FastAPI
- FastAPIFastAPI — как окошко выдачи в кафе. К нему подходят с просьбой, и оно отвечает.
- МаршрутМаршрут — как табличка на двери: что за дверью и кто там отвечает.
- JSON-ответ сервисаОтвет сервиса — как посылка. Функция кладёт в неё словарь, а FastAPI упаковывает его в JSON и отправляет.
- Страница /docsСтраница docs — как инструкция, которая написала себя сама. На ней можно сразу нажать и попробовать.
- Параметр путиПараметр пути — как номер квартиры в адресе. Номер меняется, а дом тот же.
- Параметр запросаПараметр запроса — как пожелание к заказу после знака вопроса. Его можно и не писать.
- Типы параметровТип параметра — как проверка билета на входе. Неподходящее значение не пустят.
- POST-маршрутPOST-маршрут — как окошко «Приём заявок». Сюда приносят новые данные.
- Тело запросаТело запроса — как посылка внутри конверта. Это данные, которые прислал клиент.
- Модель PydanticМодель — как бланк с графами. В каждой графе подписано, что туда писать.
- Проверка данныхПроверка данных — как контролёр, который сверяет заявку с бланком. Не подходит — отказ с объяснением.
- Коды ответа сервисаКод ответа сервиса — как штамп на заявке: «принято», «создано», «не найдено».
- HTTPExceptionHTTPException — как вежливый отказ с объяснением. Функция останавливается, а клиент получает код и причину.
- Response_modelresponse_model — как шторка. Клиент видит только то, что нужно, а пароль остаётся за ней.
- CRUDCRUD — как четыре кнопки в блокноте: добавить, прочитать, исправить, вычеркнуть.
- База в запросеБаза в запросе — как продавец, который на каждый вопрос заглядывает в журнал. Поэтому ответы всегда свежие.
- Сколько рядов изменилосьrowcount — как счётчик после уборки. Ноль значит, что убирать было нечего: такой записи нет.
- Страница для людейСтраница для людей — как витрина магазина рядом со складом. Люди смотрят витрину, а программы ходят на склад.
Модуль 16Нейросети для программиста
- Контекст в запросеКонтекст — как адрес для таксиста. Без него он поедет куда попало.
- Пример в запросеПример в запросе — как фото в парикмахерской. Показал — и тебя поняли.
- Ограничения в запросеОграничения — как «без орехов» в заказе. Скажи заранее, чего нельзя.
- Уточняем запросУточнение — как правки к рисунку. Говоришь, что поправить, а не рисуешь всё заново.
- Выдуманный ответВыдумка нейросети — как уверенный рассказчик, который никогда не говорит «не знаю». Проверяй его слова.
- Проверка тестамиПроверка тестами — как проверить мост грузом, а не на глаз. Запустилось — ещё не значит верно.
- Чтение чужого кодаЧтение чужого кода — как прочитать рецепт от незнакомца, прежде чем готовить. Вдруг там соль вместо сахара.
- Секреты и нейросетьСекреты в чате — как пароль, сказанный вслух в автобусе. Сказанное не вернуть, поэтому пиши заглушку.
- Код-ревьюКод-ревью — как попросить друга проверить сочинение перед сдачей. Свежий взгляд замечает ошибки.
Модуль 17Финал
- АлгоритмАлгоритм — как рецепт. Шаги по порядку, а в конце результат.
- ПереборПеребор — как искать книгу на полке, по одной слева направо.
- Бинарный поискБинарный поиск — как игра «угадай число». Каждый раз спрашиваешь, больше или меньше, и отбрасываешь половину.
- Сколько шагов (O)Буква О — как вопрос: насколько дольше уборка, если игрушек вдвое больше? Важно, как растёт работа.
- Сортировка пузырькомСортировка пузырьком — как пузырьки в лимонаде. Большие числа всплывают в конец, по одному за круг.
- Sorted с keykey в sorted — как выстроиться по росту, а не по алфавиту. Ты сам решаешь, по чему сравнивать.
- Цена сортировкиЦена сортировки — как уборка в шкафу. Лучше разложить всё один раз, чем рыться перед каждой вещью.
- Два указателяДва указателя — как двое, что идут навстречу по мосту. Встретились посередине — проверка окончена.
- ЧастотыЧастоты — как разложить буквы по кучкам и посчитать каждую. Кучки совпали — слова из одних букв.
- СтекСтек — как стопка тарелок. Кладёшь сверху и берёшь сверху.
- ТЗ проектаТЗ — как план похода. Куда идём, что берём и как поймём, что дошли.
- Защита проектаЗащита проекта — как экскурсия по своему дому. Что тут есть, как устроено и что ещё построишь.