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

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

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

🍀 Желаем приятного изучения!
Download Telegram
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
ReferenceError

Использование слабой ссылки (weakref) на уже удалённый объект.

Пример:
import weakref
obj = SomeClass()
ref = weakref.ref(obj)
del obj
ref() # Вернёт None, но может вызвать ReferenceError
👍3👏1
RuntimeError

Общая ошибка в runtime, часто связана с потоками.

Пример:
import threading
threading.Thread(target=lambda: None).start()
threading.Thread(target=lambda: None).start()
# Если поток уже завершён, может быть RuntimeError
👍3👏1
TimeoutError

Операция не завершилась за отведённое время.

Пример:
import socket
socket.settimeout(1)
socket.getaddrinfo("example.com", 80) # Если долго, упадёт
👍4
BlockingIOError

Операция ввода-вывода заблокирована (например, сокет в неблокирующем режиме).

Как исправить?
· Используйте select или асинхронные методы.
👍5
ConnectionError

Общая ошибка подключения (родительский класс для других).

Пример:
import requests
requests.get("http://... .com") # ConnectionError
👍3👏1
BrokenPipeError

Соединение неожиданно разорвано.

Пример:
# Сервер закрыл соединение, а клиент пытается писать
socket.send(b"data") # Может вызвать BrokenPipeError
👍5
ConnectionRefusedError

Сервер отверг подключение.

Пример:
import socket
s = socket.socket()
s.connect(("localhost", 9999)) # Если порт закрыт
👍3👏1
ChildProcessError

Возникает при попытке взаимодействовать с процессом, который уже завершился.

Пример:
import subprocess
subprocess.run("nonexistent-command") # Если команда не найдена
👍4
ProcessLookupError

Процесс с указанным PID не найден.

Пример:
import os
os.kill(999999, 0) # Если процесса нет
👍4
InterruptedError

Системный вызов прерван (например, сигналом SIGINT).

Как исправить?
· Повторите операцию или обработайте прерывание.
👍5
PickleError

Общая ошибка при работе с pickle.

Пример:
import pickle
pickle.loads(b"invalid_data") # Невалидные данные
👍5
PicklingError

Объект не может быть сериализован.

Пример:
import pickle
pickle.dumps(lambda x: x) # Лямбда-функции нельзя сериализовать
👍4👏1
UnpicklingError

Ошибка при распаковке pickle-данных.

Как исправить?
· Проверьте, что данные не повреждены.
👍4👏1
TypeError

Операция применена к объекту неверного типа.

Пример:
"10" + 10  # Нельзя сложить str и int
👍5