Ejecución de función retrasada

PythonPythonBeginner
Practicar Ahora

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

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En Python, a veces necesitamos retrasar la ejecución de una función durante un determinado tiempo. Esto puede ser útil en escenarios donde queremos esperar a que ocurra un determinado evento antes de ejecutar una función. En este desafío, se te pedirá crear una función que retrasela ejecución de otra función durante una cantidad especificada de tiempo.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python/BasicConceptsGroup -.-> python/comments("Comments") python/DataStructuresGroup -.-> python/tuples("Tuples") python/FunctionsGroup -.-> python/function_definition("Function Definition") python/FunctionsGroup -.-> python/keyword_arguments("Keyword Arguments") python/FunctionsGroup -.-> python/lambda_functions("Lambda Functions") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/ModulesandPackagesGroup -.-> python/using_packages("Using Packages") python/ModulesandPackagesGroup -.-> python/standard_libraries("Common Standard Libraries") subgraph Lab Skills python/comments -.-> lab-13619{{"Ejecución de función retrasada"}} python/tuples -.-> lab-13619{{"Ejecución de función retrasada"}} python/function_definition -.-> lab-13619{{"Ejecución de función retrasada"}} python/keyword_arguments -.-> lab-13619{{"Ejecución de función retrasada"}} python/lambda_functions -.-> lab-13619{{"Ejecución de función retrasada"}} python/build_in_functions -.-> lab-13619{{"Ejecución de función retrasada"}} python/importing_modules -.-> lab-13619{{"Ejecución de función retrasada"}} python/using_packages -.-> lab-13619{{"Ejecución de función retrasada"}} python/standard_libraries -.-> lab-13619{{"Ejecución de función retrasada"}} end

Ejecución de función retrasada

Escribe una función delay(fn, ms, *args) que tome una función fn, un tiempo en milisegundos ms y cualquier número de argumentos args. La función debe retrasar la ejecución de fn durante ms milisegundos y luego invocarla con los argumentos proporcionados. La función debe devolver el resultado de invocar fn.

Para retrasar la ejecución de fn, utiliza la función time.sleep(). Esta función toma un número de segundos como argumento, por lo que necesitarás convertir ms a segundos antes de pasarlo a time.sleep().

from time import sleep

def delay(fn, ms, *args):
  sleep(ms / 1000)
  return fn(*args)
delay(lambda x: print(x), 1000, 'later') ## imprime 'later' después de un segundo

Resumen

En este desafío, se te pidió crear una función que retrasara la ejecución de otra función durante una cantidad especificada de tiempo. Aprendiste cómo utilizar la función time.sleep() para retrasar la ejecución de una función y cómo convertir milisegundos a segundos.