Définition d'attributs de classe et de méthodes

Toute variable liée à une classe est un attribut de classe. Toute fonction définie dans une classe est une méthode. Les méthodes reçoivent une instance de la classe, appelée de manière conventionnelle self, comme premier argument. Par exemple, pour définir certains attributs de classe et méthodes, vous pouvez saisir le code suivant :

class MyClass
    attr1 = 10        #class attributes
    attr2 = "hello"

    def method1(self):
        print MyClass.attr1   #reference the class attribute

    def method2(self):
        print MyClass.attr2   #reference the class attribute

    def method3(self, text):
        self.text = text        #instance attribute
        print text, self.text   #print my argument and my attribute

    method4 = method3   #make an alias for method3

Au sein d'une classe, vous devez qualifier toutes les références à des attributs de classe avec le nom de classe ; par exemple, MyClass.attr1. Toutes les références à des attributs d'instance doivent être qualifiées avec la variable self ; par exemple, self.text. En dehors de la classe, vous devez qualifier toutes les références à des attributs de classe avec le nom de classe (par exemple MyClass.attr1) ou avec une instance de la classe (par exemple x.attr1, où x est une instance de la classe). En dehors de la classe, vous devez qualifier toutes les références à des variables d'instance avec une instance de la classe ; par exemple, x.text.