我不知道如何从另一个类创建对象的实例
下面我给出了一个例子,其中我们有一个MainWindow
类,它代表一个web浏览器。然后,还有另一个名为MainWindowTab
的类
MainWindow
是用一个名为“tab1”的选项卡初始化的,但我希望能够添加另一个选项卡并将其命名为“tab2”(然后添加“tab3”和“tab4”等),但正如您在下面看到的,我在命名它时遇到了问题
此外,如果选项卡对象的析构函数没有看上去那么简单,那么任何与之相关的提示都会很好
任何帮助都会很好,谢谢
代码
class MainWindow(object):
def __init__(self):
self.tab = MainWindowTab(0)
self.tabList = [self.tab]
def addTab(self, num):
newName = "tab"+str(len(self.tabList)+1)
# How to add a new Tab with this name? Below will simply name the new tab as literally 'newName'
# self.newName = MainWindowTab(10)
class MainWindowTab(object):
def __init__(self, num):
self.posn = num
您可能不想将每个选项卡分配给
self
上的新属性,只需使用您已经创建的列表并从那里访问它们即可。 另外,在Python3中,类定义中不再需要(object)
现在每个选项卡都可以作为
self.tablist[0]
、self.tablist[1]
等访问要销毁选项卡,您需要将它们从主列表中删除,并调用对象本身所需的任何析构函数方法。比如:
您可以将
tab
实例变量设置为list
,然后append
多个对象最明显的方法是使用setattr:
但正如另一个答案中所述,序列数据的更好方法是使用列表
相关问题 更多 >
编程相关推荐