このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

【Python入門】簡単なライブラリの利用

簡単なライブラリの利用

 これまでの学習で、Pythonの基本的な組み込み関数を活用して、データの入出力、計算、型変換、イテラブル操作など、さまざまな基本操作ができるようになりました。
 ここでは、標準ライブラリの一部であるrandomモジュールやtimeモジュールを用いて、より実践的なライブラリ利用の方法を学びます。ライブラリを利用することで、複雑な処理を簡潔に実装でき、プログラムの開発速度や表現力が大幅に向上します。さあ、簡単なライブラリの利用方法をマスターし、プログラミングの幅を広げていきましょう!

プログラムのダウンロード

 「ダウンロード」から、JupyterLab で実行できるサンプルプログラムがダウンロードできます。ファイルは、ESET Endpoint Securityでウイルスチェックをしておりますが、ダウンロードとプログラムの実行は自己責任でお願いいたします。

1.randomモジュールを使った擬似乱数生成

1.1. random関数による乱数生成

 randomモジュールには、0.0以上1.0未満のランダムな浮動小数点数を生成するrandom関数があります。

【構文】

random.random()
説明
random.random()0.0以上1.0未満のランダムな浮動小数点数を返す。
import random
# 0.0以上1.0未満の乱数を生成して表示
rand_value = random.random()
print("Random float:", rand_value)

実行結果

Random float: 0.00751958239260242

解説

 この例では、random.random()が呼び出され、0.0以上1.0未満のランダムな値が生成され、変数rand_valueに格納されます。

1.2. choice関数によるランダム選択

 choice関数は、シーケンス(リスト、タプル、文字列など)からランダムに1つの要素を選択して返します。

【構文】

random.choice(シーケンス)
説明
random.choice(['red', 'blue', 'green'])リスト内の色の中からランダムに1つ選ぶ。
import random
animals = ['dog', 'cat', 'mouse']
selected_animal = random.choice(animals)
print("Selected animals:", selected_animal)

実行結果

Selected animals: mouse

解説

この例では、flavorsリストからランダムに1つの要素が選ばれ、選択結果が表示されます。

1.3. shuffle関数による順序のランダム化

 shuffle関数は、ミュータブルなシーケンス(通常はリスト)の要素の順序をランダムに入れ替えます。

【構文】

random.shuffle(シーケンス)
説明
random.shuffle(flavors)flavorsリストの要素をランダムに並べ替える。
import random
animals = ['dog', 'cat', 'mouse']
print("Before shuffle:", animals)
random.shuffle(animals)
print("After shuffle:", animals)

実行結果

Before shuffle: ['dog', 'cat', 'mouse']
After shuffle: ['dog', 'mouse', 'cat']

解説

shuffle関数は、リストflavors自体を直接変更し、要素の並び順がランダムに変化します。

2.timeモジュールを使った時刻の取得と処理

2.1. 現在の時刻の取得

 timeモジュールは、現在の時刻を取得したり、プログラムの実行を一時停止するための機能を提供します。まずは、現在のUNIXエポックからの経過秒数を取得するtime.time関数を見てみましょう。

【構文】

time.time()
説明
time.time()現在のUNIXエポック(1970年1月1日以降)の経過秒数を返す。
import time
current_time = time.time()
print("Current epoch time:", current_time)

実行結果

Current epoch time: 1740662581.8624074

解説

 time.time() は、現在の時刻を秒単位で返し、これを使ってタイムスタンプを記録したり、実行時間の計測に利用できます。

2.2. 時刻のフォーマットと一時停止

 timeモジュールには、取得した時刻をフォーマットするtime.strftime関数や、プログラムの一時停止を行うtime.sleep関数があります。

【構文】

time.strftime(書式文字列, time_struct)
time.sleep(秒数)
説明
time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())現在の時刻を「YYYY-MM-DD HH:MM:SS」形式に整形する。
time.sleep(2)プログラムの実行を2秒間停止する。
import time
# 現在時刻をローカルタイムで整形して表示
formatted_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
print("Current date and time:", formatted_time)

# 2秒間の一時停止
print("Pausing for 2 seconds...")
time.sleep(2)
print("Resumed!")

実行結果

Current date and time: 2025-02-27 22:42:56
Pausing for 2 seconds...
Resumed!

解説

  • time.strftime関数を使って、time.localtime()で取得したローカル時刻を「YYYY-MM-DD HH:MM:SS」形式に整形し、出力しています。
  • time.sleep関数は、指定した秒数だけプログラムの実行を停止するため、タイミング制御やアニメーション、APIのリクエスト間隔の調整などに利用できます。

まとめ

 簡単なライブラリの利用では、randomモジュールやtimeモジュールを活用して、擬似乱数の生成や時刻処理を実現します。

  • randomモジュールでは、random()で乱数生成、choice()でシーケンスからランダム選択、shuffle()で順序をランダムに変更できます。
  • timeモジュールでは、time.time()でエポック秒、time.strftime()で時刻の整形、time.sleep()で実行の一時停止が行えます。

 これらの基本的なライブラリの使い方をマスターすることで、標準ライブラリを活用した実用的なプログラムの作成が可能となり、開発効率が大幅に向上します。