プログラミング初心者のPython入門#11|標準ライブラリをインポートして関数を使う

スポンサーリンク
この記事でわかること

・標準ライブラリ内のモジュールのインポート方法

・読み込んだモジュール内の関数の使い方

Pythonで標準ライブラリをインポートする

Pythonには前回の記事で解説したビルトイン関数以外の関数も標準でインストールされています。しかし、それらの関数を使うには利用する前に対応するライブラリを読み込む必要があります。

標準ライブラリには様々な種類がありますが、今回はrandomモジュールを例に解説します。

それ以外の標準ライブラリ一覧、詳細説明は以下のリンクを参照してください。

Python 標準ライブラリ — Python 3.9.4 ドキュメント

モジュールを読み込むにはビルトイン関数の「import()」を使います。また、読み込むモジュール名は以下のように「as」を使うことで別名を付けて利用することも可能です。

import モジュール名 as 別名

読み込んだ関数を使う場合は、モジュール名と関数を以下のように指定します。

モジュール名.関数()

モジュールを読み込まずにモジュール内の特定の関数のみを読みこともできます。その場合は、以下のようにコードを入力します。

from モジュール名 import 関数名

このようにしてインポートした関数は、モジュールを指定せずに関数名だけで使用できる点がモジュール全体をインポートした場合と異なる点です。

ライブラリとは、いくつかのモジュールがパッケージ化されたもので、モジュールの中に関数が格納されています。なので、モジュールをインポートすると専用の関数が使えるようになるんだなと思っていください。

randomモジュールを読み込む

random関数は乱数を生成したり、値をシャッフルする関数です。

実際にrandomモジュールを読み込んで使ってみましょう。まずはrandamモジュールをインポートします。

#random関数をインポート
import random as rd

次に使用する関数を入力します。ここでは複数の値からランダムに値を抽出するrandint()を使用してみます。以下の例では1~10の中から整数を一つ抽出します。

randomモジュールを別名「rd」としたので「rd.randint()」と関数を指定し、引数をカンマで区切って入力します。

#1~10の中からランダムに整数を一つ抽出する
print(rd.randint(1,10))

実行すると1~10の中から整数が一つ表示されたはずです。

random関数の種類

random関数は先ほどの「randint()」以外にいくつかの種類があります。

uniform():random関数で浮動小数点を生成する

指定した範囲から浮動小数点を生成する場合は「uniform()」を使います。使い方は先ほどと同じで引数内に数値を入力し、範囲を指定します。

#1~3の中からランダムに浮動小数点を一つ抽出する
print(rd.uniform(1, 3))

実行すると1~3の範囲で浮動小数点が表示されたはずです。

choive():random関数でリストの中から抽出する

作成したリストの中からランダムに値を取り出すには「choice()」を使います。以下の例ではリストを作成し、リストの中から値を抽出します。

#リストから値を抽出する
fxlist = ["USDJPY", "EURJPY", "GBPJPY"]
print(rd.choice(fxlist))

実行するとリストの中の値が一つ表示されたはずです。

shuffle():random関数でリストの中をシャッフルする

作成したリストの中の順番をシャッフルするには「shuffle()」を使います。以下の例では先ほどのリストの順番を入れ替えて表示させます。

#リストの順番をシャッフルする
fxlist = ["USDJPY", "EURJPY", "GBPJPY"]
print(rd.shuffle(fxlist))

実行するとリストの順番がシャッフルされて表示されたはずです。

その他のrandom関数

今回開設した以外にも正規分布、ガウス分布などの乱数も生成することができます。詳細は以下のリンクを参照してください。

random --- 擬似乱数を生成する — Python 3.9.4 ドキュメント

今回のまとめ

・標準ライブラリはインポートしてから使う

・モジュールは「import モジュール名」でインポートする

・モジュール名は「as」で任意の別名を付けて利用できる

・「from モジュール名 import 関数名」で特定の関数のみをインポートできる

コメント

タイトルとURLをコピーしました