Python portée à l'intérieur d'une fonction imbriquée à l'intérieur d'une classe?

Comment puis-je définir une variable de classe de l'intérieur d'une fonction à l'intérieur d'une autre fonction?

var.py

class A:
    def __init__(self):
        self.a = 1
        self.b = 2
        self.c = 3
    def seta(self):
        def afunction():
            self.a = 4
        afunction()
    def geta(self):
        return self.a

run.py

cA = A()
print cA.a
cA.seta()
print cA.a
print cA.geta()

python run.py

1
1
1

pourquoi un pas égal à 4 et comment puis-je la rendre égale à 4?

Grâce

Désolé, mon code d'origine comme afunction appelé oublié.

Edit:

Merci à tous - désolé, je viens de voir maintenant. J'ai accidentellement a été désactivé par un _ dans l'un de mes noms.... donc, mon champ d'action est en fait tout est ok.

Vous n'avez même pas appelé afunction() dans votre code.
Vous ne devez pas modifier votre code pour la réponse. Il est inutile, si nous devons regarder à travers des révisions pour voir ce que la question a été répondu.

OriginalL'auteur Eiyrioü von Kauyf | 2013-01-16