开发者

Property decorator

开发者 https://www.devze.com 2023-03-15 16:07 出处:网络
I have a property decorator so: def Property(f): \"\"\" Allow readable properties without voodoo. \"\"\" fget, fset, fdel = f()

I have a property decorator so:

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

Used (for example) so:

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

So my question is about the python way of doing this. Pydev complains about

"method method should have self as first parameter"

And pylint gives me

Method has no argument

I know I can t开发者_运维技巧urn off this error message in pydev, but Im wondering if there is a better way to manage methods that do not take self as a parameter, something I can do better.


You could use @staticmethod to create a method which does not receive an implicit first argument. Doesn't Python's @property decorator already do what you want?

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

>>> foo = Foo()

>>> foo.bar
<<< 'foobar'
0

精彩评论

暂无评论...
验证码 换一张
取 消