2011-06-26 3 views
2

は、私はそうプロパティデコレータを持っています(たとえば)に使用プロパティデコレータ

def Property(f): 
    """ 
    Allow readable properties without voodoo. 
    """ 
    fget, fset, fdel = f() 
    fdoc = f.__doc__ 
    return property(fget, fset, fdel, fdoc) 

ので:

@Property 
    def method(): 
     """""" 
     def fget(self): 
      return some expression... 
     return fget, None, None 

だから私の質問はこれを行うのpythonの方法についてです。 PyDevはは文句を言いについて

そしてpylint

" 最初のパラメータとしての自己を持っている必要がありmethod方法は" 私に

方法を与える引数

私は私ができる知っていませんpydevでこのエラーメッセージをオフにしますが、方法を管理するためのより良い方法があるかどうか疑問に思っています私はより良いやり方をすることができます。

答えて

10

@staticmethodを使用すると、暗黙の最初の引数を受け取らないメソッドを作成できます。 Pythonの@propertyデコレータはすでにあなたが望むことをしませんか?

class Foo(object): 
    @property 
    def bar(self): 
     return 'foobar' 

>>> foo = Foo() 

>>> foo.bar 
<<< 'foobar' 
関連する問題