Python って意外に…素敵?!

Python って意外に面白いかも知れないっすね♪
ようやく気付き始めているような気がします。


ちょっと触ってみた感想は、
「いろいろ面倒そうな言語だな〜」という感じでしたが、
どうもそれだけじゃないみたい♪
(でもやっぱ、面倒は、面倒ですが〜)


まず、面倒だと感じる部分は、
Ruby とかの大クラス主義とは正対する、そのシンプルな仕様!
んで、それを補うライブラリ群は、まあイイけど…、でも「import」!!!
import の数もさることながら、モジュール単位で import を書かないと…って、
面倒じゃないですか?!
んで、あの魔のキーワード「self」地獄ですよね〜。
呼び出し元の引数+1のインスタンスメソッドでの引数定義…。
正直、気持ち悪い〜!とか思ったし、


でも、実は今日、ちょっと面白いことを発見しました♪


長く PHP ばかり触ってたので、PHP のコードを引き合いに出しますが、
PHP では、次の構文で関数なりメソッドなりを動的に呼び出すことが可能です。

// (1) 関数の動的呼び出し
$result = $function($arg1, $ags2);

// (2) インスタンスメソッドの動的呼び出し
$result = Object->$method($arg1, $arg2)

今日、コレと同等の機能を Python で探していたのですが、なかなか見つからない…。
これが出来ないと、面白いスクリプトはなかなか書けないんですよね〜。
…で、2時間ぐらいネットを彷徨し、ようやく見つけたのが次の構文でした。

method = getattr(object, 'method')
method(*args)

これを見て、そして self の意味合いを併せて考えていると…、
急にハッと視界が開けました!


Python のそれは、どうやら JavaScript のそれに近いみたいですね。
クラスは一種のハッシュリスト見たいな感じなのでしょうか?
そういう風に割り切れると、急に色々見通しがよくなったような気がしました。


う〜ん。ちょっと感動です♪ v(o´∀`o)v


おかげで晩御飯も気分が良くて、また飲み過ぎてしまいました。orz...
でも、Python って意外に面白そうですね♪
面倒ではあるけど、Python の文化に馴染めたら、
意外に良いかも知れないと思い始めました。
楽しみです♪


* * *


ちなみに Django は、これまで触ってきた Rails とかと、
だいぶ文化が違ってて、何だかかなり違和感を感じまくりでした…。
それでも、AptanaDjango/GAE のプロジェクトを作成して、
起動構成〜起動〜チュートリアルを少しとやってみたんですが、
どうもなんだか肌が合わないような気がして、止めてしまいました。


それから、「じゃやっぱ Google さんの webapp だね!」とも思ったのですが、
webapp.WSGIApplication 回りの仕様がちょっと嫌な感じ〜なので、
(クラスを全部 import しないといけないの?!的な)
出来ればそれも避けて通りたい…。
webapp.WSGIApplication の一部のメソッドをオーバーライドすることも考えたんですが、
ソースを見ると書き換えも効率的じゃなさそう。
(中途半端に自分のコードじゃなくなる、的な)


う〜ん…。


どうしようかしばらく悩んだのですが、
WSGI に準拠したスクリプトを書くのはそんなに難しいそうじゃ無かったので、
WSGI のフロントエンドは自作することにしました。
シンプルで良いのが出来たら、イイんだけどね〜☆^^v


ということで、今日もお仕事のお話でした♪
チャン・チャン。