PR 業務効率化

【初心者向け】Pythonで作れるシンプルな「ストップウォッチ」の作成方法を解説!

2024年4月24日

※本サイトの記事には、アフィリエイト広告が含まれる場合があります。

ストップウォッチ
  • 業務効率化には何をすればいいのかな?
  • Pythonで自動化ツールを作成できると聞くけど、具体的に何が作れるの?
  • 自動化のアイデアが出てこない

こんな悩みを抱えている人に向けて、Pythonで作れる自動化ツールを解説していきます。

自動化ツールのアイデアが思いつかない方は、まずはこちらの記事を参考にしてください。
 ⇒【業務効率化】Pythonで作れる自動化ツール具体例・アイデア53選!

上記の記事の中から、
本記事では、シンプルなストップウォッチの作成方法を解説します。

Pythonの標準ライブラリのみを使用するプログラムのため、初心者でも作成しやすいツールです。

自動化ツールの作成手順については、こちらの記事で解説しています。
 ⇒【Pythonで業務効率化】自動化ツールを自作する方法を5STEPで解説!

この記事を読みながら、ツールの作成にぜひ挑戦してください。


\ 学習時間をムダにしたくないなら /

おすすめオンラインスクール

Pythonを効率的に学習するには、オンラインスクールを活用するのがおすすめです。
おすすめオンラインスクールはこちらの記事で紹介しています。  

コスト重視:デイトラPythonコース 紹介記事はコチラ

AIスキル重視:Aidemy PREMIUM 紹介記事はコチラ

転職重視:キカガク長期コース 紹介記事はコチラ

アイデア「ストップウォッチ」

概要

スタート、ストップ、リセット機能を持つシンプルなストップウォッチ

導入メリット

タスクにかかる時間を計測することで、時間管理が簡単になります。

導入効果

タスクにかかる時間を見直しすることで、タスク1つにつき1分短縮。
1日の回数を5回と想定した場合
年間20時間の短縮

完成イメージ

プロセス分析

ストップウォッチを使用する時のプロセスを分析します。

ストップウォッチの使い方では下記の項目が想定されます。

  • スタートボタンで計測開始
  • 経過時間を常に確認ができる
  • ストップボタンで計測終了
  • 計測結果をリセットする

処理フロー

プロセス分析結果から、プログラムの処理フローを検討します。

  • ストップウォッチのインターフェースを表示
  • スタートボタンで計測開始
  • ストップボタンで計測停止
  • リセットボタンで時間を0に戻す

開発環境の準備

使用するライブラリ

処理フローから、下記ライブラリを使用することにします。

  • tkinter:グラフィカルユーザーインターフェース(GUI)を作成する
  • time:現在時刻を取得する

開発環境の準備

Pythonのバージョンはどれでも問題ありません

PyInstallerで実行ファイルを作成する場合は、仮想環境を使用してください。実行ファイルのサイズを小さくすることができます。

仮想環境については、こちらの記事で解説しています。
 ⇒【Python仮想環境】初心者でもできるvenvによる仮想環境作成方法を解説!

プログラムのポイント

ポイント1「time.perf_counter()の使用」

時間の計測にはtime.perf_counter()を使用します。

time.perf_counter()はプログラムの起動時からの秒数を浮動小数点数で返します。

この関数は、特に短い時間(ミリ秒)の計測において非常に正確であるため、高精度なストップウォッチを作成するときに便利です。

ポイント2「プログラム状態の判断」

プログラム内ではストップウォッチの状態を残すために、下記変数を用意します。

self.running = False # ストップウォッチが実行中かどうかのフラグ

ストップウォッチが実行中の場合、スタートボタンを押しても再度計測を開始しないようにすることができます。

同様に、停止中のときには、ストップボタンが無効になるように設定しています。

プログラムの状態に合わせて処理内容を変更するときは、状態を判断するためのフラグを使用すると便利です。

ポイント3「スタート時間と経過時間」

スタート時間の記録と経過時間の計算のために、下記2つの変数を使用します。

self.time_start = 0 # 計測開始時間
self.time_elapsed = 0 # 経過時間

self.time_startにはストップウォッチがスタートした瞬間の時刻を記録します。

self.time_startに記録したスタート時間と、現在時刻との差分を取ることで経過時間を計算することができます。

self.time_elapsedにはストップウォッチが停止されたとき、計測された経過時間を記録します。

self.time_elapsedの値は常に更新されて、ウィンドウに表示されています。

ストップウォッチを再開したときに以前の経過時間から計測を継続するために使用します。

動作紹介

作成した「ストップウォッチ」の画面はコチラになります。

「スタート」ボタンを押すと、計測を開始します。

時間は10ミリ秒の精度で測定することが可能です。

「ストップ」ボタンで、計測を停止します。

「リセット」ボタンで、計測した時間をゼロに戻します。

計測を停止した後、再度計測を開始したいときは、「リセット」ボタンを押さずに、「スタート」ボタンを押します。

ソースコード

ソースコードはコチラでご確認ください。

まとめ

本記事では、シンプルなストップウォッチの作成方法を解説しました。

tkinterの設定方法が少し難しいかと思いますが、全体として使用するライブラリが少なく、作成しやすいツールです。

機能を追加することはいくらでもできるので、既存のToDoリストでは物足りない方は紹介したソースコードの改良に挑戦してください。

もっとPythonを学習したい人へ

Pythonの学習方法は、書籍やyoutube、スクールなどがありますが、一番のおすすめはオンラインスクールでの学習です。

オンラインスクールを勧める理由は以下の通りです。

  • 学習カリキュラムが整っているので、体系的に学ぶことができる。
  • 時間や場所を選ばずに、自分のペースで学習できる。
  • 入門者向けから上級者向けまでレベルや目的に合わせた多様な講座がそろっている

オンラインスクールは、Pythonを効率的に学習する際に非常に有効な方法といえます。

ただし、メリットとデメリットを理解した上で、自分に合った講座を選ぶことが大切です。

おすすめのオンラインスクールは次の3つです。

おすすめオンラインスクール

コスト重視:デイトラ
AIスキル重視Aidemy PREMIUM
転職重視:キカガク


最後まで読んでいただきありがとうございます!

ご意見、ご感想があれば、コメントを頂けるとうれしいです!!

  • この記事を書いた人

よすけ

☆Pythonプログラマー ☆副業で業務改善ツール作成実績あり ☆noteでサンプルコード公開中 https://note.com/pythonsoba ☆デイトラPythonコース受講 ☆A.I.、機械学習を日々勉強中 ☆基本情報技術者、ソフトウェア開発技術者 取得 ☆趣味はスノーボード、ボルダリング、ドライブ

-業務効率化
-

業務効率化ツールのサンプルコードを多数公開中!
サンプルコードをみる
業務効率化ツールのサンプルコードを多数公開中!
コードをみる