例 : 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 のようなサマリページはできないみたい