Я не собираюсь на самом деле делать это; Мне просто интересно, возможно ли это. Я подозреваю, что это не так.Свойство/дескриптор класса без класса Python?
Возможно ли в Python создавать переменную, которая разрешает результат вызова функции каждый раз, когда к ней обращаются, но без доступа к ней через посреднический объект? С классом я могу это сделать:
class A:
i = 0
@property
def data(self):
self.i += 1
return self.i
>>> a = A()
>>> a.data
1
>>> a.data
2
Но есть некоторые (впрочем Hacky), как я могу устранить класс? то есть:
i = 0
def func():
global i
i += 1
return i
>>> data = some_magic_here(func)
>>> data
1
>>> data
2
Возможный дубликат [определение функции python без скобок] (http://stackoverflow.com/questions/7698603/defining-python-function-without-the-brackets) –