【问题标题】:Python - Retrieving values from methods within other classesPython - 从其他类中的方法中检索值
【发布时间】:2015-05-10 14:36:38
【问题描述】:

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

如果有人对如何检索这些值有任何建议,那将是很棒的,因为我已经编写了一个充满问题的大型程序并且已经跌倒了最后一关!

谢谢。

【问题讨论】:

    标签: python class methods return calling-convention


    【解决方案1】:

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

    例如:

    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

    【讨论】:

    • 这非常有帮助,我真的很感激!我会尝试你的建议并让你知道。再次感谢您。
    猜你喜欢
    • 2015-10-30
    • 2022-01-27
    • 1970-01-01
    • 1970-01-01
    • 2015-05-30
    • 1970-01-01
    • 2011-07-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多