【Python入門】sleep関数の3つの便利な使い方

  • APIの制限があるからこの処理は1秒待ってから行わせたい
  • 段階的に結果を出したいので処理ごとに一時的に止めたい


のように考えたことがあるのではないでしょうか。

今回はこのような処理をPythonのtimeモジュールsleep関数を使って実装する方法を紹介していきます。

また、ミリ秒単位で使う方法や、繰り返しの中で使う方法も解説していきます。

sleep関数の基本的な使い方

sleepの基本

まずはsleepをプログラムの中で使えるようにimportしましょう。今回はsleepのみを使うので、timeモジュールからsleep関数のみをimportします。

これでtimeモジュールの中からsleep関数のみをimportする事ができました。この方法でimportすると、sleep以外のtime内の関数にアクセスできなくなるので注意してください。

実際に確認してみましょう。

Jupyter lab上で試してみます。

In:

Out:

このように、from [module] import hoge を使うと、importしたhogeのみ使えるようになり、それ以外のものにはアクセスできません。このような方法でimportすると

  • 明示的に何を読み込んだのか分かる様になる
  • 毎回time.sleepのようにモジュール名から書く必要がなくなる


点において便利です。では実際にsleep関数の使い方を確認していきましょう。

sleep(secs)は引数として秒数を受け取ります。引数secsはint型でもfloat型でも構いません。

これでbeginからendの間に1秒間の間を開ける事ができました。ただし注意点としては、当然ですがマイナスの秒数を受け取ることはできません。

必ずプラスの数を引数に与えることにだけ注意してください。

sleepをミリ秒で使う

次に、sleep関数を使ってミリ秒(1/1000秒)単位で処理を止めてみましょう。

0.001秒ストップのテスト

これでbeginからendの間に0.001秒間の間を開ける事ができました。このように、sleep関数の使い方はとても簡単です。

sleep関数の応用的な使い方

では、応用としてループ処理の中でsleep関数を使う方法を紹介します。ここでは、forループの中で別の関数を呼び出し、ループごとに0.5秒sleepさせる処理を考えます。

簡単のため、呼び出す関数は「ループ回数をprintするだけの関数」とします。

実際に使うときは、「単位時間ごとにリクエスト制限があるapiを叩く関数」や「段階的にwebページの要素を表示していく関数」などが対象になるかと思います。

では実際に見てみましょう。

loopでsleepを使う

1~2行目で呼び出される関数を定義しています。stubという名前の関数で、引数iを受け取ります。

print関数は引数として与えられたものをコンソールに出力しますが、文字列型のメソッドの.format()を使っていることに注意してください。

これはこのメソッドを呼び出した文字列内の{}という表記に、.fortmat()の引数として渡されたobjectを代入する操作を行います。4~5行目はループ回数とsleepする秒数を定義しています。

6行目からはループ処理に入ります。このループの中でsleep関数を呼び出してからstub関数を呼び出しています。

これがループ処理内でsleep関数を使う例になります。

このままPythonを学び続けて大丈夫?

なぜPythonを学ぶのか?

あなたがPythonを学ぶ理由は何でしょうか?

  • Pythonが人気だからとりあえず学んでいる
  • AIや機械学習の分野に興味があるから

Pythonは初心者向けの言語と言われています。その理由としてシンプルでわかりやすい構文や、実用的なライブラリが豊富なことが挙げられ、実際に学びやすい言語です。

しかし、もしあなたが機械学習に興味があって、とくに知識も無いまま学習を進めると、挫折する可能性が高いと言えます。

機械学習の分野はプログラミング以外にも、専門的な知識や数学の知識も必要になります。ただなんとなく学習していると早い段階でつまづきやすく、そのまま挫折してしまうなんてことも…。

そのため、挫折しないためには、

  • 最適な学習環境を用意する
  • 必要なライブラリ・ツールを導入する
  • わからないことを質問できるメンターを見つける

などが必要になります。

効率よく学びたいなら、無料体験レッスンがおすすめ

このままPythonを学び続けていいのかな…
まだまだ知りたいことがたくさんある!
もっと詳しくPythonについて知りたい!

といった悩みや願望を持っている方は、弊社「侍エンジニア塾」をご利用下さい。

侍エンジニア塾では、

  • 現役エンジニアによるマンツーマンレッスン
  • キャリアアドバイザーによる転職・就職支援
  • 業界屈指のフリーランス・起業サポート

を受けることができます。

業界屈指のコンサルタントから、効率的な学習方法や仕事獲得術、今後のキャリアまでさまざまな疑問を相談してみませんか?遠方の方でもオンラインで受講できます!お気軽に受講下さい。

侍エンジニア塾
無料体験レッスンを受ける

まとめ

今回はtime.sleepの使い方を紹介しました。

sleep関数はプログラム中で何秒か処理をストップさせたいときなどに便利ですね。簡単ですぐ使いこなせる機能なので、ぜひ活用してください。

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

フクロウ

フクロウ

第一言語はPythonです。
皆さんRustやりましょう。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説