我想知道是否有一种方法可以通过实例访问课外。 我希望实例在创建时立即放入数组中。
实施例
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时,这现在不起作用)
答案 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 ....