Exécution de fonction retardée

Beginner

This tutorial is from open-source community. Access the source code

Introduction

En Python, parfois nous devons retarder l'exécution d'une fonction pendant un certain laps de temps. Cela peut être utile dans des scénarios où nous voulons attendre qu'un certain événement se produise avant d'exécuter une fonction. Dans ce défi, vous devrez créer une fonction qui retarde l'exécution d'une autre fonction d'un montant de temps spécifié.

Exécution de fonction retardée

Écrivez une fonction delay(fn, ms, *args) qui prend une fonction fn, un temps en millisecondes ms et un nombre quelconque d'arguments args. La fonction devrait retarder l'exécution de fn de ms millisecondes puis l'appeler avec les arguments fournis. La fonction devrait renvoyer le résultat de l'appel de fn.

Pour retarder l'exécution de fn, utilisez la fonction time.sleep(). Cette fonction prend un nombre de secondes en argument, donc vous devrez convertir ms en secondes avant de la passer à time.sleep().

from time import sleep

def delay(fn, ms, *args):
  sleep(ms / 1000)
  return fn(*args)
delay(lambda x: print(x), 1000, 'later') ## affiche 'later' après une seconde

Sommaire

Dans ce défi, vous avez été invité à créer une fonction qui retarde l'exécution d'une autre fonction d'un montant de temps spécifié. Vous avez appris à utiliser la fonction time.sleep() pour retarder l'exécution d'une fonction et à convertir les millisecondes en secondes.