CherryPyのCacheFilterで以下のようにpropertyというbuildin関数が出てくる(cachefilter 116行〜122行)。
CacheClass = property(lambda self: cherrypy.config.get("cacheFilter.cacheClass", MemoryCache)) key = property(lambda self: cherrypy.config.get("cacheFilter.key", defaultCacheKey)) ... maxobjects = property(lambda self: cherrypy.config.get("cacheFilter.maxobjects", 1000))
関数名の通り、プロパティを実現する。詳しい解説は以下のリンクがわかりやすい、あと対話モードでの「help(property)」
CacheFilterの例ではgetに対応する関数だけが指定されていて、変数から値を取得する感覚で関数にアクセスする。上の例だとself.CacheClassから値を取得しようとすると、propertyの引数で渡した関数を実行する。
や、至極普通なPropertyの挙動なんだけども、pythonは何呼んでるのか把握しにくいんで書いておかないとハマリそう...。