Определение атрибутов классов и методов

Любая переменная, связанная в класс, - это атрибут класса. Любая определенная в классе функция - это метод. Методы получают экземпляр класса, условно называемый self, в качестве первого аргумента. Например, для определения нескольких атрибутов и методов класса можно использовать следующий код:

class MyClass
    attr1 = 10        #атрибуты класса
    attr2 = "hello"

    def method1(self):
        print MyClass.attr1   #ссылка на атрибут класса

    def method2(self):
        print MyClass.attr2   #ссылка на атрибут класса

    def method3(self, text):
        self.text = text        #атрибут экземпляра
        print text, self.text   #напечатать мой аргумент и мой атрибут

    method4 = method3   #создать алиас для method3

Внутри класса все ссылки на атрибуты класса необходимо специфицировать с помощью имени класса; например, MyClass.attr1. Все ссылки на атрибуты экземпляра должны специфицироваться переменной self; например, self.text. Вне класса все ссылки на атрибуты класса должны специфицироваться именем класса (например, MyClass.attr1) или экземпляром класса (например, x.attr1, где x - это экземпляр класса). Вне класса все ссылки на переменные экземпляра должны специфицироваться экземпляром класса; например, x.text.