タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

Pythonとlazyに関するnullpobugのブックマーク (1)

  • django.utils.functionalを使って遅延評価 - スコトプリゴニエフスク通信

    django.utils.functionalに含まれるlazyを使うと、関数の遅延評価を簡単に行うことができます。 カレー化を行うdjango.utils.functional.curryはPython2.5のfunctoolsでも代替可能でしたが、このlazyは標準ライブラリの中に代替がなく(多分)、かつ、非常に有用な関数です。  Pythonでは、「ある条件が満たされない場合、別の関数を評価する」というパターンはしばしば見られます。 典型的なものとしては、キーがない場合に返すべき値と共に呼び出す、dictのget, setdefault, popメソッドなどです。 少々トリビアルな例なのですが、遅延評価の効果を体感するために、次のような例を考えてみました。 import time def get_value(v): time.sleep(3) return v このget_value

    nullpobug
    nullpobug 2008/01/24
    遅延評価
  • 1