假设我有这样一个:
class Test():
def __init__(self, number):
self.number = number
await self.TestPrint()
async def TestPrint(self):
print(self.number)
正如您所看到的,这是行不通的,因为__init__
不是async
,我不能为函数调用await
。
我希望能够在__init__
内运行TestPrint
,假设我希望保持此函数异步。
我还希望这与类之外的任何其他东西都没有关系(其他函数、其他类、main等)。
1条答案
按热度按时间oxcyiej71#
就像评论中提到的chepner:
创建对象,然后在返回
TestPrint
方法之前调用它的异步类方法听起来更合适。这是最好的方法,也是为什么有很多函数初始化内部异步类,而不是直接示例化它们。
也就是说,如果你想在类中使用
@classmethod
,它可以是异步的,你的代码应该是这样的: