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 は不平を言う

「メソッドmethodは最初のパラメーターとして自分自身を持つ必要があります」

そしてpylintは私に与えます

メソッドに引数がありません

pydev でこのエラー メッセージをオフにできることはわかっていますが、self をパラメーターとしてとらないメソッドを管理するためのより良い方法があるかどうか疑問に思っています。

4

1 に答える 1

10

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

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

>>> foo = Foo()

>>> foo.bar
<<< 'foobar'
于 2011-06-26T02:32:20.723 に答える