タグ

ブックマーク / taichino.com (2)

  • pythonのORMを色々試してみた – taichino.com

    そろそろpythonでもSQLを直に書くのが面倒になってきたので、O/Rマッパーを探してみたところ、幾つか種類があったので有名どころを使ってみることにしました。今回試したのは以下の4つです。 SQLAlchemy SQLObject Elixir Storm まず用途についてですが、僕はテーブルスキーマはSQLで直に書きますので、ORMでDDLを扱うつもりはありません。DMLを簡単に扱いたいというのが一番の目標です。そこで予め作成して置いたテーブルに対してCRUD操作のし易さを比べてみました。比較に使用したのは以下のテーブルです。 CREATE TABLE `books` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(100) DEFAULT NULL, `price` int(11) DEFAULT NULL, `isbn

  • Pythonのジェネレータを保存したいという話 – taichino.com

    Pythonでも所謂ジェネレータを使えます。無限数列を求めたりする例がよく紹介されていますね。 #!/usr/bin/python # -*- coding: utf-8 -*- def get_fib(): (a, b) = (0, 1) yield a yield b while True: (a, b) = (b, a + b) yield b def main(): fib = get_fib() for i in range(10): print fib.next() if __name__ == '__main__': main() ジェネレータはnext()を呼ぶ度に新しい値を返す訳ですが、例えば5回next()を呼んでからジェネレータ自身を保存して置いて、後から6回目以降を呼び出したいというのがエントリでの話です。 要はジェネレータオブジェクトを(デ)シリアライズしたいの

  • 1