遅延された関数の実行

PythonPythonBeginner
今すぐ練習

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

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

Python では、時々、関数の実行を一定期間遅らせる必要があります。特定のイベントが発生するのを待ってから関数を実行したいシナリオでは、これが便利です。このチャレンジでは、指定された時間だけ別の関数の実行を遅らせる関数を作成するよう求められます。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) 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{{"遅延された関数の実行"}} python/tuples -.-> lab-13619{{"遅延された関数の実行"}} python/function_definition -.-> lab-13619{{"遅延された関数の実行"}} python/keyword_arguments -.-> lab-13619{{"遅延された関数の実行"}} python/lambda_functions -.-> lab-13619{{"遅延された関数の実行"}} python/build_in_functions -.-> lab-13619{{"遅延された関数の実行"}} python/importing_modules -.-> lab-13619{{"遅延された関数の実行"}} python/using_packages -.-> lab-13619{{"遅延された関数の実行"}} python/standard_libraries -.-> lab-13619{{"遅延された関数の実行"}} end

遅延された関数の実行

関数 delay(fn, ms, *args) を書きます。この関数は、関数 fn、ミリ秒単位の時間 ms、および任意の数の引数 args を受け取ります。この関数は、fn の実行を ms ミリ秒だけ遅らせ、その後、提供された引数で fn を呼び出す必要があります。この関数は、fn を呼び出した結果を返す必要があります。

fn の実行を遅らせるには、time.sleep() 関数を使用します。この関数は、秒数を引数として受け取るため、ms を秒数に変換してから time.sleep() に渡す必要があります。

from time import sleep

def delay(fn, ms, *args):
  sleep(ms / 1000)
  return fn(*args)
delay(lambda x: print(x), 1000, 'later') ## 1秒後に 'later' と表示されます

まとめ

このチャレンジでは、指定された時間だけ別の関数の実行を遅らせる関数を作成するよう求められました。関数の実行を遅らせるために time.sleep() 関数をどのように使用するか、およびミリ秒を秒に変換する方法を学びました。