Python - 从其他类中的方法中检索值

时间:2015-03-09 12:27:29

标签: python class methods return calling-convention

我正在尝试自学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等,但无济于事。

如果有人对如何检索这些值有任何建议,那就好了,因为我写了一个充满问题的大规模程序并且已经陷入了最后的障碍!

谢谢。

1 个答案:

答案 0 :(得分:1)

您在类的每个函数中拥有的值不会创建为类成员。对于您的应用程序,您需要创建成员变量,用于存储类中的值。

例如:

class FirstSet(QuestionSet):
    def questioning(self):
        self.value1 = raw_input("Val1")
        QuestionSet.next_set = "second_set"

现在,value1是一个可以访问它的成员变量。

对于上面的示例,它可能类似于以下行,以便从&#39; first_set&#39;

访问value1
subsets['first_set'].value1

如果你不熟悉这个尝试 this tutorial