理解python中的属性装饰器

时间:2015-07-10 01:55:48

标签: python

我有一个定义为这样的类:

class ClientAPi

   def __init__(self, host): 
      self.host = host

   def foo(self, foo):
      return self._foo(foo)
   @property
   def _foo(self):
     return bind_api(
            api=self,
            path='/foo',
            allowed_param=['foo'])

其中bind_api为https://github.com/tweepy/tweepy/blob/master/tweepy/binder.py 实际上..这是tweepy库中的模式 https://github.com/tweepy/tweepy/blob/master/tweepy/api.py

这是如何运作的?我无法理解流程.. 我的意思是变量foo如何从foo()传递到_foo()..?

此外,现在..我的api的一些路径已经改变.. 而不是host:port/foo现在它是host:port/v1/foo 有没有办法可以用一些装饰器来注释这些方法。这样装饰器的方法有path='/foo'path=/v1/foo

所以例如

class ClientAPi

   def __init__(self, host): 
      self.host = host

   def foo(self, foo):
      return self._foo(foo)

   @new_api('v1')
   @property
   def _foo(self):
     return bind_api(
            api=self,
            path='/foo',
            allowed_param=['foo'])

将路径从'/foo'更改为'/v1/foo'

0 个答案:

没有答案