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

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

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

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

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

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

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

# 11 сообщений
for i in range(10):
    print(i * i)
print('Цикл закончился')

# 20 сообщений
for i in range(10):
    print(i * i)
    print('Цикл закончился')

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

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

// обработчик нажатий на экранную клавиатуру
document.getElementById("keyboard-cont").addEventListener("click", (e) => {
    // получаем нажатый элемент
    const target = e.target;
    // если нажали не на нашу клавиатуру — выходим из обработчика
    if (!target.classList.contains("keyboard-button")) {
        return
    }
    // получаем текст нажатой кнопки
    let key = target.textContent;
    // имитируем нажатие этой кнопки на настоящей клавиатуре
    document.dispatchEvent(new KeyboardEvent("keydown", {'key': key}))
})

А вот тот же самый код, но записанный без отступов, — и он тоже будет работать:

document.getElementById("keyboard-cont").addEventListener("click", (e) => {const target = e.target; if (!target.classList.contains("keyboard-button")) {return}let key = target.textContent;document.dispatchEvent(new KeyboardEvent("keydown", {'key': key}))})

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

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

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

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

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

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

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

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

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

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

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

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

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

def square():
    for i in range(10):
        print(i * i)
    print('Цикл закончился')

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

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

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

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

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

pip install pytelegrambotapi

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

import telebot

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

Полка

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

Обложка:

Алексей Сухов

Корректор:

Ирина Михеева

Вёрстка:

Кирилл Климентьев

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Вам может быть интересно
easy