Python の @property はクラスのインスタンスメソッドを変数のようにする
クラスのインスタンスメソッドに @property をつけると変数のようにアクセスできます。
class User:
def __init__(self, name, age):
self.id = 0
self._name = name
self._age = age
@property
def hello(self):
return self._name
a = User(name='Alice', age=27)
print(a.hello) # Alice
a は関数 hello に変数のようにアクセスし、a.hello() でなく a.hello となっています。PyCharm で a を入力すると

のように id と hello がアクセス可能になっています。_name と _age はアンダーバーから始まっているため候補に出てこない。