SmartView · Python | Изучение Python
130 subscribers
373 photos
17 links
📖 Обучение языку программирования Python с самого начала: кратко, интересно и понятно!

📚 Мы стараемся преподавать самое важное в Python, чтобы вас не нагружать.

⚡️ Boost канала: https://t.me/boost/SV_Python

🍀 Желаем приятного изучения!
Download Telegram
KeyError

Обращение к несуществующему ключу словаря.

Пример:
d = {"a": 1}
print(d["b"]) # Ошибка: ключа "b" нет


Решение: Используйте .get("b", default) или проверку "b" in d.
👍4
AttributeError

Обращение к несуществующему атрибуту/методу объекта.

Пример:
s = "hello"
s.append("!") # Ошибка: у строк нет метода append


Решение: Проверяйте документацию типа объекта (dir(s)).
👍4
ImportError

Ошибка импорта модуля или имени из модуля.

Пример:
from math import unknown_func  # Ошибка: функция не существует


Решение: Проверьте название модуля и импортируемые имена.
👍5
ZeroDivisionError

Деление на ноль.

Пример:
10 / 0  # Ошибка


Решение: Проверяйте делитель перед операцией.
👍4👏1
OverflowError

Результат операции слишком велик для типа.

Пример:
2 ** 100000  # Может вызвать ошибку в некоторых случаях


Решение: Используйте sys.maxsize или библиотеки (decimal).
👍4👏1
FloatingPointError

Ошибка в операции с плавающей точкой (редко).

Решение: Проверяйте корректность вычислений.
👍4👏1
FileNotFoundError

Файл не найден.

Пример:
open("unknown.txt", "r")  # Ошибка


Решение: Проверьте путь и существование файла.
👍5
PermissionError

Нет прав доступа к файлу.

Решение: Измените права доступа (chmod).

IsADirectoryError, NotADirectoryError

Ожидался файл, но это директория (или наоборот).

Решение: Проверьте тип объекта (os.path.isfile()).
👍5
OSError

Общая ошибка операционной системы.

Пример:
os.chdir("unknown_dir")  # Ошибка


Решение: Обрабатывайте исключение (try-except).
👍5
MemoryError

Недостаточно памяти.

Решение: Оптимизируйте код, используйте генераторы.
👍5
RecursionError

Превышена глубина рекурсии.

Пример:
def foo():
foo() # Бесконечная рекурсия


Решение: Установите sys.setrecursionlimit() или перепишите код итеративно.
👍4
UnicodeError, UnicodeDecodeError, UnicodeEncodeError

Проблемы с кодировкой/декодированием текста.

Пример:
"привет".encode("ascii")  # Ошибка: кириллица в ASCII


Решение: Указывайте правильную кодировку (utf-8).
👍4
StopIteration

Итератор завершил работу.

Пример:
it = iter([1, 2])
next(it) # 1
next(it) # 2
next(it) # Ошибка: элементы закончились


Решение: Обрабатывайте через try-except или цикл for.
👍4👀1
GeneratorExit

Генератор был закрыт.

Решение: Используйте generator.close().
👍4👀1
DeprecationWarning

Используется устаревшая функциональность, которая может быть удалена в будущих версиях Python.

Пример:
import imp  # В Python 3.4+ imp устарел, используйте importlib


Как исправить?
· Проверьте документацию и используйте актуальные аналоги.
👍3👏1👀1
FutureWarning

Код работает сейчас, но в будущем его поведение изменится.

Пример:
import pandas as pd
pd.concat([df1, df2]) # В будущем может потребоваться явное указание axis


Как исправить?
· Указывайте параметры явно (например, axis=0).
👍4👏1👀1
RuntimeWarning

Проблема, которая может вызвать ошибку в runtime, но пока не критична.

Пример:
import numpy as np
np.log(0) # Выдаст RuntimeWarning: divide by zero


Как исправить?
· Обрабатывайте крайние случаи (например, проверка деления на ноль).
👍4👀1
SyntaxWarning

Подозрительный синтаксис, который работает, но может быть ошибкой.

Пример:
if x = 10:  # Должно быть ==
pass


Как исправить?
· Включите все предупреждения (python -Wd script.py).
👍4👀1
UserWarning

Пользовательское предупреждение (можно вызывать вручную).

Пример:
import warnings
warnings.warn("Этот код устареет в следующей версии!", UserWarning)
👍3🔥1👀1
NotImplementedError

Метод или функция не реализованы, но должны быть переопределены в дочернем классе.

Пример:
class Animal:
def make_sound(self):
raise NotImplementedError("Должен быть реализован в подклассе!")

class Cat(Animal):
pass # Ошибка, если вызвать make_sound()


Как исправить?
· Реализуйте метод в наследнике.
👍4
AssertionError

Условие в assert не выполнено.

Пример:
x = 10
assert x == 20, "x должен быть 20!" # Упадёт здесь


Как исправить?
· Исправьте логику или проверяйте данные до assert.
👍4