Найти в Дзене
Журнал «Код»

5 самых частых ошибок у начинающих программистов на Python

Оглавление

Мы тоже проходили через это

Если у вас нет этих ошибок при старте в Python, возьмите с полки пирожок. А если есть — прочитайте эту статью и тоже возьмите. Пирожок — в конце статьи.

Неправильные отступы

Самая частая ошибка начинающих программистов на Python — неправильные отступы. Дело в том, что в Python с помощью отступов определяется, что к чему относится.

Например, вот два примера циклов, которые различаются одним отступом, но после первого мы увидим 11 сообщений, а после второго — 20:

-2

Ещё ошибка — вообще забыть про отступы и писать код без них. В этом случае компьютер даже не запустит программу и сразу выдаст ошибку.

В большинстве других языков такой проблемы нет, можно ставить в коде сколько угодно табов и пробелов, потому что вместо пробелов и табов там фигурные скобки. Например, вот рабочий код на JavaScript:

-3

Нет двоеточия

Во многих языках после объявления циклов или функций сразу идут скобки, в которых пишется нужный код. В Python в этих случаях нужно ещё поставить двоеточие — без него мы получим ошибку, код не запустится.

Это простая ошибка, которую легко исправить, но про неё часто забывают, поэтому многие инструменты разработки сами сообщают, когда пропущено двоеточие:

Python сообщает, что не нашёл двоеточие после объявления цикла, и даже указал стрелкой место, где оно должно быть
Python сообщает, что не нашёл двоеточие после объявления цикла, и даже указал стрелкой место, где оно должно быть

Точка с запятой

Эта ошибка — противоположная предыдущей: начинающие программисты часто ставят точку с запятой после каждой команды, но в Python она не нужна.

Это настолько частая ошибка, что некоторые интерпретаторы уже на неё не ругаются, а выполняют код так, будто точек с запятой там нет. Но в системах со строгими требованиями к коду такое не пройдёт: компьютер остановит программу и не запустится, пока программист не уберёт точки с запятой после команд.

Код сработал, но VS Code пометил точки с запятой красным — сигнал программисту, что их нужно убрать из проекта
Код сработал, но VS Code пометил точки с запятой красным — сигнал программисту, что их нужно убрать из проекта

Вызов или объявление функций без скобок

У функций бывают аргументы — это то, что в явном виде попадает в обработку внутрь функции. Например, функция str(x) переводит в строку значение переменной x, при этом x — это аргумент функции. Если мы объявляем функцию с аргументами, то указываем их в скобках, тут пока всё в порядке.

Но бывает так, что нам нужна функция без аргументов — она работает со своими внутренними командами и значениями. Частая ошибка здесь — объявление функции без скобок. Мол, если нет аргументов, то и скобки не нужны:

-6

В таких случаях компьютер сразу ругается на неправильный синтаксис: если объявлена функция, то у неё обязательно должны быть скобки, даже если аргументов нет. Добавим скобки, чтобы код был рабочий:

-7

То же самое касается и вызова функции: даже если у неё нет аргументов, при вызове всё равно нужно поставить скобки. Если так не сделать, компьютер проигнорирует вызов и перейдёт к следующей команде:

-8

Неправильный импорт и установка модулей

Напоследок будет ошибка, которую допускают все: и новички, и бывалые ребята. Она связана с тем, что не всегда название библиотеки совпадает с её именем при вызове или установке. Звучит странно, покажем на примере.

Самая популярная библиотека для создания телеграм-ботов — это pyTelegramBotAPI. Устанавливается на компьютер она такой командой:

pip install pytelegrambotapi

Но для подключения к проекту нам нужно использовать другое имя модуля:

-9

Если написать import pytelegrambotapi — компьютер выдаст ошибку, потому что в этом случае имя вызова модуля и имя при установке не совпадают. Если у вас возникла такая ошибка — проверьте в документации, как подключать нужный вам модуль.

Полка

-10