- 已关闭。**此问题为not reproducible or was caused by typos。当前不接受答案。
这个问题是由打字错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
14小时前关门了。
Improve this question
我在python中写了一段代码,为了打开一个webstock频道并获取数据。然后我想在数据更新时打印数据。我已经在python中通过property的方式实现了getter。下面是我的类:
class Liveohlcv:
def __init__(self):
self.ohlcvBook = None
@property
def value(self):
return self.ohlcvBook
@value.getter
def value(self):
return self.ohlcvBook
async def getLiveohlcv(self):
exchange = ccxtpro.binanceusdm({'newUpdates': False})
self.ohlcvBook = await exchange.watch_ohlcv('BTC/USDT', timeframe='1m')
# ohlcvBook = await exchange.watch_ticker('BTC/USDT',)
print('get ohlcv')
print(self.ohlcvBook)
print(self.ohlcvBook[len(self.ohlcvBook) - 1])
asyncio.run(getLiveohlcv(self))
我在这里使用这个类:
liveohlcv = Liveohlcv()
print('create liveolhcv')
print(liveohlcv)
print(liveohlcv.value())
# asyncio.run(liveohlcv.getLiveohlcv())t
while True:
current_olhcv = liveohlcv.value()
print('create current_olhcv')
print(current_olhcv)
# print(current_olhcv[len(current_olhcv) - 1])
time.sleep(2)
print(time.time())
if len(current_olhcv) != 0:
print(current_olhcv[len(current_olhcv) - 1])
但它会导致这个错误:
print(liveohlcv.value())
TypeError: 'NoneType' object is not callable
你能告诉我怎么解吗?
先谢了
1条答案
按热度按时间8ehkhllq1#
您可以像这样定义getter,第二个getter是不需要的(这里有一个关于https://realpython.com/python-property/的不错的阅读):
并像这样使用它(它是一个属性,而不是函数):