मैं await
कंस्ट्रक्टर या क्लास बॉडी में क्लास को कैसे परिभाषित कर सकता हूं ?
उदाहरण के लिए मुझे क्या चाहिए:
import asyncio
# some code
class Foo(object):
async def __init__(self, settings):
self.settings = settings
self.pool = await create_pool(dsn)
foo = Foo(settings)
# it raises:
# TypeError: __init__() should return None, not 'coroutine'
या वर्ग शरीर विशेषता के साथ उदाहरण:
class Foo(object):
self.pool = await create_pool(dsn) # Sure it raises syntax Error
def __init__(self, settings):
self.settings = settings
foo = Foo(settings)
मेरा समाधान (लेकिन मैं और अधिक सुरुचिपूर्ण तरीके से देखना चाहूंगा)
class Foo(object):
def __init__(self, settings):
self.settings = settings
async def init(self):
self.pool = await create_pool(dsn)
foo = Foo(settings)
await foo.init()
__new__
, हालांकि यह सुरुचिपूर्ण नहीं हो सकता है