__import__の使い方

  • May 09, 2007 08:59
  • Posted by uemura

Djangoのソース読みから

pythonoでは設定ファイルで定めたモジュールをインポートするのに__import__関数を使うことが多いです。

たとえばdjango.db.__init__.pyでは

settingsで設定された

DATABASE_ENGINE = "mysql"

を受けて

django.db.backends.mysql.base

をインポートするのを

  

re.sub の使い方

  • May 08, 2007 08:25
  • Posted by uemura

djangoのコード読みから

Pythonの正規表現の置き換えに

re.sub(pattern, repr, string)

というのがあるのですが、これは stringにマッチするパターンをreprで置き換えるものです。

In [1]: re.sub('bar', ' foo ', 'barbarbar')
Out[1]: ' foo  foo  foo '

あまり使わないのでreprは文字列だけかと思ったら

  

簡易なSingleton

  • May 07, 2007 06:15
  • Posted by uemura

一度だけインスタンスを作りたいクラス、いわゆるSingletonパターンですが通常Pythonで書く場合はクラスメソッドをつかったりゴニョゴニョするのですが、Djangoのソース見てたら簡易パージョンがありました。

厳密な意味ではSingletonではないのですが十分かと思います。

In [1]: class dummy(object):pass
   ...:

In [2]: s = dummy()

In [3]: s.hoge = "hoge"

In [4]: s.fuga = 123