关于python的返回值

时间:2012-07-29 10:51:41

标签: python

    def createMenu(self, menuData):
        menu = wx.Menu()
        for eachItem in menuData:
            if len(eachItem) == 2:
                label = eachItem[0]
                subMenu = self.createMenu(eachItem[1])
                menu.AppendMenu(wx.NewId(), label, subMenu)
            else:
                self.createMenuItem(menu, *eachItem)
        return menu

在此代码中,返回值为menu。它引用对象wx.Menu()。此Object是一个局部变量。当这个函数调用结束时它将被删除。但书中的下一个代码是 menuBar.Append(self.createMenu(menuItems), menuLabel)createMenu(menuItems)它是如何工作的?我的意思是menu指向的对象已被删除。

1 个答案:

答案 0 :(得分:2)

我不是百分百肯定我理解你的问题。但你可以尝试以下方法:

menuBar = wx.MenuBar()
print menuBar.__class__