从班级内访问

时间:2018-01-10 16:21:26

标签: python-3.x

我想知道是否有一种方法可以通过实例访问课外。 我希望实例在创建时立即放入数组中。

实施例

class Student():

    def __init__(self,table):

        self.table = table
        global sclass
        sclass[self.table].sclass(self) # This is the challenge


def sclass_maker(num_students):
    sclass = [[] for _ in range(num_students)]
    for table in range(num_students):
        Student(table) # I want these to put them self in the "sclass"- list.
    return sclass

感谢您抽出宝贵时间帮忙! (“全局sclass”的原因是当sclass被创建为全局元素时,我首次使用此方法。当函数创建sclass时,这现在不起作用)

1 个答案:

答案 0 :(得分:0)

解决问题的一种简单方法是将列表sclass设为全局变量(通过在函数global sclass的开头声明它)然后使用__init__函数将自己添加到该全局列表

类似

class Student():
    def __init__(self,table):
        global sclass
        sclass[self.table].append(self)
        #rest of code ....

def sclass_maker(num_students):
    global sclass
    sclass = [[] for _ in range(num_students)]
    #rest of code ....