Python.use(better) 《余録》局所クラス -- locals
‖記事一覧‖
Python.use(better)《復刻版》
《余録》局所クラス -- locals
《著》小粒ちゃん+∞《監修》小泉ひよ子とタマゴ倶楽部
第0版♪2001/03/02 ● 第1版♪2003/05/25 ● 第2版♪2004/06/01 ● 第3版♪2009/02/28
事例:局所クラス
局所クラス内から、それを包括するクラスの属性を参照するには、いくつかの方法があります。
■ local を利用する
組み込み関数 locals を利用すると、インスタンス属性を参照できます。
class ListDemo(JPanel, ListSelectionListener): def __init__(self): ... class FireListener(ActionListener): def __init__(self, local): self.outer = local def __call__(self, e): list = self.outer["self"].list #1: index = list.selectedIndex ... self.list = JList( #2: listModel, selectionMode = ListSelectionModel.SINGLE_SELECTION, selectedIndex = 0, valueChanged = self, visibleRowCount = 5, ) fireButton = JButton( self.fireString, actionCommand = self.fireString, actionPerformed = FireListener(locals()), #3: )
事例:コードの解説
■ #1: 包括するクラスの属性を参照する
def __call__(self, e): list = self.outer["self"].list #1: index = list.selectedIndex ...