銀月の符号

Python 使い見習いの日記・雑記

Python が好きな理由を思い出してみる

Python を好きになったきっかけってなんだったっけ? 好きに理由は要らないと思ってはいるものの、言葉にできないと人に伝えるときにすごく不便だと思ったのでまとめようとしてみる。

インデント? ダックタイピング? itertools ? functools ? unittest ? 標準ライブラリの充実? サードパーティ製ライブラリの充実? Django ? GAE ? なんか違う、でもすぐにでてこなくてもやもやしている。 Python に出会った当時の記憶を引き出してみる…。

明文化だ

(1時間後)理由出てきた。「Python コミュニティでは明文化することが奨励されている」という内容の文章を見かけたからだ! *1 「いろいろ明示的に書く文化」! 文法で強制されていることもあるけれど。

「docstring」。メソッド、関数、モジュールの使い方がよくわかる。いや、 docstring そのものの存在や機能よりも「docstring やコメントを詳しく書くこと」が推奨されているということのほうがより興味を引かれた。実際、これを守ることで自分の半年前のコードに足元すくわれることがなくなった。あと「doctest」の存在も素敵。退行テストも兼ねているマニュアル、とかはじめて知ったときは衝撃的だった。

「self と書く」。するとインスタンス変数とメソッドローカル変数が一目で区別つく*2 *3

「インポート文」、 import re; re.compile('spam') とか from itertools import izip のような。どのモジュールから持ってきたものなのかすぐにわかる*4 *5

「インデント」。複文の始まり、終わりが一目でわかる。

*1:どこでみたかは不明。これは要出典というヤツか?

*2:IDE つかえば他の言語でもわかるけれど

*3:インスタンス変数をローカル変数に突っ込みなおした場合は別 a = self.a

*4:IDE つかえば以下略

*5:from datetime import * のような * 使用時は別