我正在尝试自学Python并创建了一个文件,该文件贯穿各个类的各种问题集。在这个文件的末尾,我想总结一下我的所有原始输入。
不幸的是,我正在努力从一个单独的类中访问这些值。我已将我的编码分解为一个测试示例,以演示我的程序结构:
class QuestionSet(object):
next_set = 'first_set'
class ClaimEngine(QuestionSet):
def current_set(self):
last_set = "blank"
while_count = int(0)
quizset = Sets.subsets
ParentSet = QuestionSet()
while ParentSet.next_set != last_set and int(while_count)<50:
quizset[ParentSet.next_set].questioning()
while_count = while_count+1
class FirstSet(QuestionSet):
def questioning(self):
value1 = raw_input("Val1")
QuestionSet.next_set = "second_set"
class SecondSet(QuestionSet):
def questioning(self):
value2 = raw_input("Val2")
QuestionSet.next_set = "summary"
class Summary(QuestionSet):
print "test"
## I need to print a summary of my inputs here ##
## e.g. Print "The answer to value1 was:%r" %value1##
class Sets(object):
subsets = {
'first_set': FirstSet(),
'second_set': SecondSet(),
'summary': Summary()
}
我已尝试在摘要中定义每个类,例如1stSet = FirstSet()然后是FirstSet.value1等,但无济于事。
如果有人对如何检索这些值有任何建议,那就好了,因为我写了一个充满问题的大规模程序并且已经陷入了最后的障碍!
谢谢。
答案 0 :(得分:1)
您在类的每个函数中拥有的值不会创建为类成员。对于您的应用程序,您需要创建成员变量,用于存储类中的值。
例如:
class FirstSet(QuestionSet):
def questioning(self):
self.value1 = raw_input("Val1")
QuestionSet.next_set = "second_set"
现在,value1是一个可以访问它的成员变量。
对于上面的示例,它可能类似于以下行,以便从&#39; first_set&#39;
访问value1subsets['first_set'].value1
如果你不熟悉这个尝试 this tutorial