Pythonのお勉強 Part6
■ このスレッドは過去ログ倉庫に格納されています
0788デフォルトの名無しさん
2005/07/01(金) 13:11:02unpackは本来、タプルの要素を展開をするものだったので、
ドキュメントにも書かれてる通り、両辺の要素数が同じというのが前提です。
要素数が不定のリストに適応する場合は、固定数の要素を返すwrapperを間に置いた方が良いです。
この場合は、parser関数を作り、その中で要素数の数合わせ、書式のチェック、例外処理などをする。
遅延リストを使って要素数合わせるのは、なかなか面白いアイデアだとは思うけど。
より簡単な方法だと、関数のデフォルト引数を使う方法もありますね。
def reader(username, password, comment=""):
...
for line in (x.rstrip() for x in file(FILENAME) if x.strip()):
reader(*line.split(":"))
この方法で、reader自体をclosureとして渡す様な設計にすると、
パスワードの照会やレコードの削除などで、共通の繰返し処理を括りだす事が出来、
うまく設計すれば(SQLみたいに)関数の組合せのみで、それらの処理をする関数が作れる様になります。
>>785
dWにあったかどうかわからないけど、他には ...
PyGgy (http://www.lava.net/~newsham/pyggy/)
■ このスレッドは過去ログ倉庫に格納されています