В качестве примера рассмотрим:
Код: Выделить всё
from time import sleep
import asyncio
class UselessExample:
def __init__(self, delay):
self.delay = delay
async def a_ticker(self, to):
for i in range(to):
yield i
await asyncio.sleep(self.delay)
def ticker(self, to):
for i in range(to):
yield i
sleep(self.delay)
def func(ue):
for value in ue.ticker(5):
print(value)
async def a_func(ue):
async for value in ue.a_ticker(5):
print(value)
def main():
ue = UselessExample(1)
func(ue)
loop = asyncio.get_event_loop()
loop.run_until_complete(a_func(ue))
if __name__ == '__main__':
main()
Предполагая, что нет существенной разницы, которая оправдывала бы полную реализацию обоих, каков наилучший (и наиболее Pythonic) способ поддерживать такой класс и избегать ненужного дублирования?>
Подробнее здесь: https://stackoverflow.com/questions/551 ... mentations