Python - @property vs func()

Jad*_*una 1 python properties function

用它来someclass.func代替我一直是我的梦想someclass.func().我读到了关于@decorators.现在我问:

哪种方式更好?

方式1

class Main(object):

    def __init__(self):

        self.func()

    def func(self):

        print 'hi'
Run Code Online (Sandbox Code Playgroud)

要么...

方式2

class Main(object):

    def __init__(self):

        self.func

    @property
    def func(self):

        print 'hi'
Run Code Online (Sandbox Code Playgroud)

编辑

以下是代码:http: //randomgalaxy.com/stackoverflow/python-property-vs-func/term.py

pok*_*oke 7

如果func确实打印了值,那么不,将其作为属性是不正确的.属性是 - 作为名称建议 - 附加到对象的值.因此,@property装饰器的函数应该返回一个值,否则没有副作用.