科学の箱

科学・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

cp932 error

pythonで入力ファイルにおける文字コードが正しく認識されない場合、以下のようなエラーがでる。 UnicodeDecodeError: ‘cp932’ codec can&# …

no image

SIGNATE お弁当の需要予測-3

Seabornを利用してデータをビジュアル化してみる。 まずは売り上げの分布図から sns.distplot(d_train[‘y’], kde=False, rug=False, bins=50) …

no image

連続データのビジュアル

Kaggle TitanicのFareを使っていくつかビジュアル 金額別ヒストグラム-1 titanic_df[‘Fare’].plot(kind=’hist’, figsize=(15,3),bin …

no image

スライスとインデックスを組み合わせてデータを抜き出す

行列からデータを取得する際には、インデックスを利用すことはわかった。このインデックスの種類としては整数、スライス、配列、ブーリアンがある。これらを組み合わせて柔軟に配列から要素を抜き出すことができる。 …

no image

numpy.linspace()を使って等差数列を生成する

一次関数と等差数列 一次関数をテストするときに必須になるのが等差数列。等差数列とは要素と要素の間の差が等しいもの。 例えば1, 2, 3, 4, 5, 6は等差が1の数列である。等差が2になると、1, …

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

side bar top



アーカイブ

カテゴリー