Home > Python Archive

Python Archive

Pythonのテンプレートエンジン

最近PythonでCGIも書いているのですが、Python用のテンプレートエンジンが使いづらい。

ググると沢山出てきますが、どれもテンプレート内にPythonのコードが書けない。PythonのWebフレームワーク「Django」も、独自のテンプレート言語を使わなければならず、Pythonコードを直接書けないので非常に使いづらい。

AzaraCを使ってていいなーと思うのも結局テンプレート内にがしがしコードを書ける所。もうC++でやりたい放題なわけですよ。STLとかがんがん使ってページを生成するわけですよ。流石にテンプレート内にkmpとかいう関数があった時はびっくりしましたが。

Django方式だとテンプレート内にif len(hoge) > 0とか書きたい場合、len等のPythonの関数もテンプレート内には原則として書けないので、ロジック側で context = { “hogeflag” : len(hoge) > 0 } と定義してからテンプレート側で “hogeflag”を使用しなければいけない。これは eRuby とか見た人間からすると凄い鬱陶しい。

「だから速度が出る」とか「デザイナーはコード書かれてもわからへんねん」と言われたらそれまでなのだが、もうちょっと何とかならないんですかね。やっぱりインデントの問題ですか?

素敵なアイデアがあればいいんだけど。

みんなのGoogle言語

「みんなのPython」の帯をずらしたら「みんなのGoogle言語」に見えるね。というどうでもいいタイトルです。Pythonで大体2000行ほどのプログラムを組んでみてちょっとずつ習得気味です。
前のエントリに対しておくじさんに反応を頂きました

C++では必ず this を付けてしまう私には self はさっぱり気にならないし(って言うか、Perl5で嫌でも慣らされた)、アンダースコアはRubyのアットマークや end の群れと比べれば、どっこいどっこいだと思っている。その辺は多分に慣れの問題なのだろう。

Continue reading

PythonでBounded Buffer

引き続きPythonでマルチスレッドプログラミングという事で、5月頃にOS演習で実装したBounded Bufferを実装しました。

Continue reading

PythonでMultiThreadServer

文字列処理を頻繁に行う+OSネイティブのマルチスレッドを使いたいという要求から、Pythonをいじってみました。題材としてはThread Pooling型のMultiThreadServerです。

Continue reading

Home > Python Archive

お薦め本
広告
Archives
Categories

Return to page top