例 : function1.py
#!/usr/bin/env python # coding: utf-8 """ 関数の練習 """ __author__ = "kagyuu <kagyuu@hondou.homedns.org>" __version__ = "0.00" __date__ = "14 Oct 2012" ####################################################################### def func1(arg1, arg2, arg3='3rd') : """ 一般的な関数. @param arg1 引数1 @param arg2 引数2 @param arg3 引数3 (デフォルト値 '3rd') @return 引数の辞書(key = ('arg1', 'arg2', 'arg3')) """ return {'arg1' : arg1, 'arg2' : arg2, 'arg3' : arg3} ####################################################################### def func2(*lst) : """ リストを引数とする関数. @param lst 引数1 @return lst の各要素に 1 を加えたリスト """ return [ elem + 1 for elem in lst ] ####################################################################### def func3(**dict) : """ 辞書を引数とする関数. @param dict 引数1 @return dict の各要素に 1 を加えた辞書 """ return { key:(val+1) for key,val in dict.items() } ####################################################################### def func4(x, y) : """ 複数の値を返す関数. @param x int1 @param y int2 @return x+1, y+1 """ return x+1, y+1 ####################################################################### def main() : """ 本モジュールをコマンドラインから実行するための関数. """ try : print('func1(\'x\')=' + func1('x')) except TypeError as te : print(te) print('func1(\'x\',\'y\')=' + str(func1('x','y'))) print('func1(\'x\',\'y\',\'z\')=' + str(func1('x','y','z'))) print('func1(arg2=\'x\',arg3=\'y\',arg1=\'z\')=' + str(func1(arg2='x', arg3='y', arg1='z'))) print('func1(*[\'p\',\'q\',\'r\'])=' + str(func1(*['p','q','r']))) print('func1(**{\'arg2\':\'p\', \'arg3\':\'q\', \'arg1\':\'r\'})=' \ + str(func1(**{'arg2':'p', 'arg3':'q', 'arg1':'r'}))) print('func2()=' + str(func2())) print('func2(1,2,3,4)=' + str(func2(1,2,3,4))) print('func3()=' + str(func3())) print('func3(l=22, m=23, n=32, o=33)=' + str(func3(l=22, m=23, n=32, o=33))) p, q = func4(3, 4) print('func4(3, 4)=(' + str(p) + ',' + str(q) + ')') if __name__ == '__main__': main()
$ pydoc function1
で、man のようにリファレンスを参照できる
Help on module function1: NAME function1 - 関数の練習 FUNCTIONS func1(arg1, arg2, arg3='3rd') 一般的な関数. @param arg1 引数1 @param arg2 引数2 @param arg3 引数3 (デフォルト値 '3rd') @return 引数の辞書(key = ('arg1', 'arg2', 'arg3')) func2(*lst) リストを引数とする関数. @param lst 引数1 @return lst の各要素に 1 を加えたリスト func3(**dict) 辞書を引数とする関数. @param dict 引数1 @return dict の各要素に 1 を加えた辞書 func4(x, y) 複数の値を返す関数. @param x int1 @param y int2 @return x+1, y+1 main() 本モジュールをコマンドラインから実行するための関数. VERSION 0.00 DATE 14 Oct 2012 AUTHOR kagyuu <kagyuu@hondou.homedns.org> FILE /Users/atsushi/Documents/PythonExam/function1.py
$ pydoc -w function1
で HTML が生成される。1 ソース ごとに 1 HTML になる。Javadoc のようなサマリページはできないみたい