9. Классы (Classes)

По сравнению с другими языками программирования, механизм классов Python добавляет классы с минимумом нового синтаксиса и семантики. Это смесь механизмов класса похожих на C++ и Modula-3. Классы Python предоставляют все стандартные возможности объектно-ориентированного программирования: механизм наследования классов позволяет использовать несколько базовых классов, производный класс может переопределить любые методы его базового класса или классов, а метод может вызвать метод базового класса с тем же именем. Объекты могут содержать произвольные количество и типы данных.

8. Ошибки и исключения

До сих пор о сообщениях об ошибках лишь упоминалось, но если вы пытались проделать примеры, то, наверное, видели некоторые из них. Есть (по меньшей мере) два отличимых вида ошибок: синтаксические ошибки (syntax errors) и исключения (exceptions).

8.1. Синтаксические ошибки (Syntax Errors)

Синтаксические ошибки (Syntax Errors), также известный как ошибки грамматического разбора (parsing errors), являются, пожалуй, наиболее распространенным видом жалоб пока вы все еще изучаете Python:

Обработка исключений, создание класса исключения

class MyError(Exception):
    def __init__(self,text):
        MyError.txt = text
 
a = input("Input positive integer: ")
 
try:
    a = int(a)
    if a < 0:
        raise MyError("you give negative!") # возбуждает собственное исключение
except ValueError:
    print("Error type of value!")
except MyError:
    print(MyError.txt)
 
print(a)
class General: pass
class Specific1(General): pass
class Specific2(General): pass
 
def raiser0():
    x = General()
    raise x
 
def raiser1():
    x = Specific1()