umyuu commited on
Commit
f988527
·
1 Parent(s): 0977623

StopWacthクラスをdataclass化

Browse files

https://peps.python.org/pep-0557/

Files changed (1) hide show
  1. src/utils.py +12 -12
src/utils.py CHANGED
@@ -1,5 +1,6 @@
1
  # -*- coding: utf-8 -*-
2
  """ユーティリティ"""
 
3
  import time
4
 
5
 
@@ -10,6 +11,7 @@ def get_package_version() -> str:
10
  return '0.0.7'
11
 
12
 
 
13
  class Stopwatch:
14
  """
15
  経過時間を計測するためのクラス。
@@ -20,11 +22,9 @@ class Stopwatch:
20
  ### 計測する処理
21
  print(f"{watch.elapsed:.3f}")
22
  """
23
-
24
- def __init__(self):
25
- self._start_time: float = 0
26
- self._elapsed: float = 0
27
- self._is_running: bool = False
28
 
29
  @property
30
  def elapsed(self) -> float:
@@ -37,6 +37,13 @@ class Stopwatch:
37
 
38
  return self._elapsed
39
 
 
 
 
 
 
 
 
40
  def start(self) -> None:
41
  """
42
  計測を開始します。
@@ -63,10 +70,3 @@ class Stopwatch:
63
  self._elapsed = end_time - self._start_time
64
  self._is_running = False
65
  return self._elapsed
66
-
67
- @property
68
- def is_running(self) -> bool:
69
- """
70
- 実行中かどうかを取得します。
71
- """
72
- return self._is_running
 
1
  # -*- coding: utf-8 -*-
2
  """ユーティリティ"""
3
+ from dataclasses import dataclass
4
  import time
5
 
6
 
 
11
  return '0.0.7'
12
 
13
 
14
+ @dataclass
15
  class Stopwatch:
16
  """
17
  経過時間を計測するためのクラス。
 
22
  ### 計測する処理
23
  print(f"{watch.elapsed:.3f}")
24
  """
25
+ _start_time: float = 0
26
+ _elapsed: float = 0
27
+ _is_running: bool = False
 
 
28
 
29
  @property
30
  def elapsed(self) -> float:
 
37
 
38
  return self._elapsed
39
 
40
+ @property
41
+ def is_running(self) -> bool:
42
+ """
43
+ 実行中かどうかを取得します。
44
+ """
45
+ return self._is_running
46
+
47
  def start(self) -> None:
48
  """
49
  計測を開始します。
 
70
  self._elapsed = end_time - self._start_time
71
  self._is_running = False
72
  return self._elapsed