I am trying to use both @staticmethod and @property on a function bar() so that the result is returned by Foo.bar and not Foo.bar().
However, Foo.bar is returning <property object at 0x107e9cb30> instead of the expected string bar.
Why is the @property decorator not working?
def do_work(str):
    return str
class Foo: 
    @property
    def foo(self):
        return do_work('foo')
    @staticmethod
    @property
    def bar():
        return do_work('bar')
f = Foo()
print(f.foo)      # foo
print(Foo.bar)    # <property object at 0x107e9cb30>
Using Python 3.7.4
