科学の箱

科学・IT・登山の話題

Python

automated the boring – day8

投稿日:2018年2月28日 更新日:

https://automatetheboringstuff.com/chapter15/

さてプログラムを実行しているときに案外出てくる要件が時間計測。

例えばアルゴリズム間でパフォーマンスを比較するとか、経過時間に基づいてファイルをローテーションさせる。プログラムの開始時間と終了時間を記録するなどいろいろ考えられる。

pythonでもすでにtimeパッケージとして用意されているので使い方を確認する。


import time
def calcProd():
  # Calculate the product of the first 100,000 numbers.
  product = 1
  for i in range(1, 100000):
    product = product * i
  return product

startTime = time.time()
prod = calcProd()
endTime = time.time()
print('The result is %s digits long.' % (len(str(prod))))
print('Took %s seconds to calculate.' % (endTime - startTime))

こちらを実行すると以下のように時間が計測される。

$ python timex.py
The result is 456569 digits long.
Took 16.528652667999268 seconds to calculate.

次はsleep。これも重要である。入力と入力の間に一定の時間待ちを入れるとか、polling処理で受け付けているときにバッファを与えるとかいろいろな使い道がある。

<blockquote>> import time
>>> for i in range(3):
... print('tick')
... time.sleep(2)
... print('tock')
... time.sleep(2)
...
tick
tock
tick
tock
tick
tock</blockquote>

メタ情報

inarticle



メタ情報

inarticle



-Python
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

graphvizのコマンドラインから実行

dot -Kdot -Tpng test.dot -o test.png Related posts:python data scientist bootcamp連続データのビジュアルStringIO …

no image

pythonからoffice365 smtpを利用してメールを送信

Office365の設定はこちらにある。 PythonにおけるSMTPの利用はこちらにある。 下記はサンプルコード import smtplib from email.mime.text import …

no image

pythonでsha3をつかう

pip install sha3だと何かがダウンロードされるが下記のエラーが表示される。 c:\users\usera\appdata\local\temp\pip-install-1v_qtdxo\ …

no image

UnionFindのfindについて処理を考える。

UnionFindにおけるfind()もしくはroot()はルート(グループの根)を見つける処理である。 記述方法としては2種類ある。 whileループを回す 再帰処理 それぞれについて動きを確認して …

no image

automated the boring – day 3

https://automatetheboringstuff.com/ 今回はまずは文字列操作から。とりあえず基本のところを押さえておく。 print("Hello there!\nHow …

2018年2月
« 1月   3月 »
 1234
567891011
12131415161718
19202122232425
262728  

side bar top



アーカイブ

カテゴリー