Python.use(better) #Tutor: step07 -- def do_help(self, view, target, item)
‖記事一覧‖ Python.use(better)《Python3.1》
def do_help(self, view, target, item)
《著》小粒ちゃん+∞《監修》小泉ひよ子とタマゴ倶楽部
第0版♪2001/03/02 ● 第1版♪2003/05/25 ● 第2版♪2004/06/01 ● 第3版♪2009/02/28
基礎編で利用した学習ツールを作成する過程を通して「プログラミング」の理解を深めます。
※ Tcl/Tk で作成した例題を、Python3.1 で再構成しました。
事例:モジュールを起動する
■ 全項目を確認する
全ステップの「項目」を確認するには、関数 do を利用します。
$ python -i tutorTk.py >>> do() ... 7: step07 -- def do_help(self, view, target, item):
事例:コードの解説
def step07(): """def do_help(self, view, target, item):""" class Tutor(object): ... def __call__(self, widget, target): #@: s,*_ = widget.curselection() s = self.items[int(s)] self.do_help(self.help, target, s) def do_help(self, view, target, item): view.delete(1.0, END) s = eval("%s.%s.__doc__"%(target.__name__, item)) view.insert(END, "%s"%s)
■ #1: 特殊属性 __doc__
## ---------------------------------------- before def __call__(self, widget): ... view = self.help view.delete(1.0, END) view.insert(END, "%s"%s) ## ---------------------------------------- after def __call__(self, widget, target): #@: ... self.do_help(self.help, target, s) def do_help(self, view, target, item): view.delete(1.0, END) s = eval("%s.%s.__doc__"%(target.__name__, item)) view.insert(END, "%s"%s)
特殊属性 __doc__ を参照すると、文書化文字列が得られます。
- 組み込み関数 eval を用いて、実行時に確定したコードの断片を評価(実行)します。
例えば、リスト項目から "__add__" を選択すると、それが実引数 item の値になるので、
s = eval("%s.%s.__doc__"%(target.__name__, item)) s = eval("list.__add__.__doc__") s = list.__add__.__doc__
これらはどれも同じ結果になります。
》こちらに移動中です《
↑TOP