私はまだPythonの初心者で、現在、作成したい小さなモジュールにバージョン2.7を使用しています。
メニューを作成するためのものです(今のところ、かなり単純です)
ダニエルとデルナンの回答に基づく更新:
各メニューはオブジェクトです:
class UiNavMenu(object):
def __init__(self):
self.title = title
self.links = []
def add(self, title, link, **kwargs):
'''
Add a link to the menu by creating a UiNavLink object.
'''
link = UiNavLink(title, link, kwargs)
self.links.append(link)
def clear(self):
'''
Clear all links in the menu
'''
self.links = []
def __repr__(self):
return "<UInavmenu object> Menu '%s' : %s links" % (self.title, len(self.links))
これは実際にはかなり基本的なことです。
そして今、リンクオブジェクト:
class UiNavLink(object):
def __init__(self, title, link, **kwargs):
self.title = title
self.link = link
for key, value in kwargs.items():
self.key = value
だから今、私が知りたかったことは:
まず、python がガベージ コレクターを使用し、オブジェクトが彼のプロセスの最後で破棄されることを知っています。
しかし、menu.clean() のようなメニュー オブジェクトの clean() メソッドを使用すると、メニューはすべてのコンテンツとともに破棄されます。したがって、その中のリスト (self.lists) も破棄されます。
しかし、リストに含まれるリンク オブジェクト (UiNavLink オブジェクト) も破棄されるので、気にする必要はありませんか? それとも手動で処理する必要がありますか?!
どうもありがとうございます :)
ヤン