выполняется непоследовательно? Я нигде специально не передавал управление "немагическими способами"
                  
                  
                  
                  
                  
                  import asyncio
                  
                  
                  
                  
                  
                  
                  
                  
                  class Task:
                  
                  
                      def __init__(self, max_num):
                  
                  
                          self.n = 0
                  
                  
                          self.max_num = max_num
                  
                  
                      
                  
                  
                      def iterator(self):
                  
                  
                          for i in range(self.max_num):
                  
                  
                              print(i, 'task')
                  
                  
                              yield
                  
                  
                      
                  
                  
                      def __await__(self):
                  
                  
                          return self.iterator()
                  
                  
                  
                  
                  
                  async def agen(arg):
                  
                  
                      for i in range(arg):
                  
                  
                          print(i, "gen", arg)
                  
                  
                          await asyncio.sleep(0)
                  
                  
                  
                  
                  
                  async def main():
                  
                  
                      await asyncio.gather(agen(3), agen(4), Task(5))
                  
                  
                  
                  
                  
                  asyncio.run(main())
                  
                  
                
а yield, asyncio.sleep() тебе не о чем не говорят?
Обсуждают сегодня