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

Python - Retrieving values from methods within other classes

我正在尝试自学 Python 并创建了一个文件,其中包含分布在 class 中的各种问题集。在这个文件的末尾,我想总结一下我所有的原始输入。

不幸的是,我很难从单独的 class 访问这些值。我已将我的编码分解为一个测试示例来演示我的程序结构:

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()
    }

我尝试在摘要中定义每个 class 例如1stSet = FirstSet() 然后 FirstSet.value1 等但无济于事。

如果有人对如何检索这些值有任何建议,那将是很好的,因为我已经编写了一个充满问题的庞大程序并且在最后一个障碍中失败了!

谢谢。

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

中的成员变量

例如:

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

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

对于上面的示例,它可能类似于下面的行,从 'first_set'

访问 value1
subsets['first_set'].value1

如果您对此不熟悉,请尝试 this tutorial