クラス変数を別の関数内の関数の内部から設定するにはどうすればよいですか?クラス内のネストされた関数内のPythonスコープ?
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
なぜ等しくない4を行い、どのように私は4それを等しくすることができますか?
おかげ
申し訳ありませんが、呼ばれる関数としての私の元のコード - 忘れてしまいました。
編集:
みんなありがとう - 申し訳ありませんが、私はちょうど今、見ました。私は間違いなく私の名前の_の中に_入っていました....だから、私の範囲は実際には大丈夫です。 seta
インサイド
あなたはあなたのコードで '関数'()を呼び出していませんでした。 –
コードを回答に変更しないでください。どんな質問が答えられたかを見るために改訂を見なければならないなら、それは役に立たない。 – TheHerk