Ruby, Javascriptの次にPythonを触って思ったこと

をメモしておく。

戸惑った点

呼び出し
  • rubyだとobj.hoge()が大半だったけど、pythonだとfuga.hoge(obj)。モジュールの名前空間ってやつなのかな?
  • メソッドチェーンが出来無い。
文字列
  • str型とunicode型とがあり、unicode型は文字コードで分かれていて、ややこしいことこの上ない。
  • 自分で書く分にはunicode型に統一してれば良いけど、外部からの読み込みが絡んでくると思いもしないところで嵌る。
クラス
  • メソッド定義、呼び出しのselfが面倒くさい。
イテレータ(?)
  • rubyのEnumerable的な動作の書き方がよくわからない。
  • リストの内包表記が覚えられない。
三項演算子
  • これは完全に嵌った。
ruby, javascript
(式) ? "正の値" : "負の値"
python
"正の値" if (式) else "負の値"
ヘルプファイル
  • ドキュメントが豊かなのは良いけれど、正直文章量が多すぎて直感的に理解しづらい。
  • 一つのメソッドでも、リファレンスマニュアルを読んで調べるよりもググる方が結果的には早かったりする。

良かった点

速度
  • もっさりした感じが無くて、小物ツールなんかを作るには最適。
インデント
  • タブのインデント自体はエディタさえちゃんとしてれば慣れる。
  • そして慣れれば構造化されていて見易い。

思った事

  • Rubyは自由帳、思ったとおり好き勝手に書く。
  • Pythonは原稿用紙、決まりにそってきっちり綺麗に書く。