Сообщить об ошибке.

Синтаксис определение классов в Python.

Классы вводят немного нового синтаксиса, три новых типа объектов и некоторую новую семантику.

Простейшая форма определения класса выглядит следующим образом:

class ClassName:
    <statement-1>
    .
    .
    .
    <statement-N>

Определения классов, так-же как определения функций, должны быть выполнены до того, как они окажут какой-либо эффект. Вполне возможно, что определение класса можно поместить в ветвь оператора if или определить класс внутри функции.

Операторы внутри определения класса обычно будут определениями функций, другие операторы тоже разрешены, а иногда бывают даже полезными. Определения функций внутри класса имеют особую форму списка аргументов, диктуемую соглашениями о вызове методов.

При вводе определения класса создается новое пространство имен, которое используется в качестве локальной области. Таким образом, все присвоения локальных переменных попадают в это новое пространство имен. В частности, определения функций связывают здесь с именем новой функции.

Объект класса по сути, это обертка вокруг содержимого пространства имен, созданного определением класса. Исходная локальная область видимости, действовавшая непосредственно перед введением определения класса, восстанавливается и объект класса (переменная или функция определенная внутри определения класса) привязывается к имени класса, указанному в заголовке определения класса ClassName.