我有一个属性装饰器,所以:
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作为参数的方法,我可以做得更好。
答案 0 :(得分:10)
您可以使用@staticmethod创建一个不接收隐式第一个参数的方法。 Python的@property装饰器是不是已经做了你想做的事情?
class Foo(object):
@property
def bar(self):
return 'foobar'
>>> foo = Foo()
>>> foo.bar
<<< 'foobar'