私はこれらの2つのメソッドを持つクラスfoo
を持っています。 variableLevelDictionary
は文字列をキーとした辞書であり、値としてリストされます。メインモジュールでmain()
機能でPython呼び出し元クラスのリストを参照できません
class foo:
levels = []
specificLevels = []
variableLevelDictionary = {}
def __init__(self):
self.createDictionaryOfVariableAndLevel()
def getVariableLevelDictionary(self):
return self.variableLevelDictionary
def createDictionaryOfVariableAndLevel(self):
variableList = self.listOfVariables()
levels = self.getAllLevels()
specificLevels=self.getSpecicficLevels()
variableLevelDictionary = {"aaa":levels,
"bbb":levels,
"ccc":levels,
"ddd":levels,
"eee":specificLevels
}
私はfoo
をインスタンス化してから、私は
global variableLevelDictionary
fooInstance = foo()
variableLevelDictionary =fooInstance.getVariableLevelDictionary()
このメソッドを呼び出すと、私は、リストの値を印刷するとき、私はこの
list = variableLevelDictionary.get("aaa")
を行います私はなしを得る。
誰かが私が間違っていることを説明できますか?あなたが実際にあなたのクラス「foo」が持っていない場合self.variableLevelDictionaryを返すようにしようとしているgetVariableLevelDictionary方法で
1)同じ名前の属性を持っている:私は気づく何
'variableLevelDictionary'は' self.variableLevelDictionary'と同じではありません –
@PeterWood - ご意見ありがとうございます。どうすればこの問題を解決できますか? – gansub
@ PeterWood - self.variableLevelDictionaryから自分自身を削除すると、NameErrorが返されます:name 'variableLevelDictionary'が定義されていません – gansub