こんにちは。
言うまでもなく、Pythonには様々なライブラリが存在します。
例えば、自身で作成した関数や、Pythonに標準搭載されている標準ライブラリ、pip
コマンドで導入することができるパッケージ型のライブラリなどがあります。
※ pip
とは Python のパッケージを管理するためのツールです。
Python のライブラリを挙げていけばキリがないのですが、その中でも特に標準ライブラリで頻用すると思われるものをまとめました。
ライブラリの覚書として確認していただければ幸いです。
pythonの様々な標準ライブラリ
数学系ライブラリ
mathライブラリ
Pythonのライブラリの中でも数学系の基本的なライブラリを紹介します。
全て挙げるとキリがありませんので、代表的なメソッドを挙げていきます。
メソッド | 内容 |
ceil() | 数値の切り上げ |
floor() | 数値の切り捨て |
round() | 四捨五入 |
fabs() | 絶対値 |
>> math 数学関数 - Python 3.6 ドキュメント
round()
に関してはmath.
に続かずにそのまま使用する事ができます。
ココに注意
math
や random
などライブラリ名前を仕様して math.py
や random.py
という名前のファイルを作らないように注意しましょう。
標準ライブラリが動作しなくなるなどの原因となってしまいます。
以上で紹介したメソッドを利用してコードを記載してみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 | import math x = 3.141592 print(math.ceil(x)) print(math.floor(x)) print(math.fabs(x)) print(round(x)) 4 3 3.141592 3 |
randomライブラリ
次に、random
ライブラリを紹介します。
random
ライブラリは、ランダムに数値を取得したり、数値の並びを変更する機能があります。
様々なライブラリがあるので、以下のサイトを参照にして下さい。
>> random 疑似乱数 - Python 3.6 ドキュメント
メソッド | 内容 |
randrange(x) | 0 以上 x 未満の整数からランダムに数を選ぶ |
randrange(x, y, z) | x 以上 y 未満(ステップ z)の整数列からランダムに値を取得する。 |
randint(x, y) | x 以上 y 以下 の整数列からランダムに値を選ぶ |
実際に使用してみましょう。
1 2 3 4 5 6 7 8 9 10 | import random print(random.randrange(1202)) print(random.randrange(4, 23, 3)) print(random.randint(1, 17)) 646 10 1 |
実行すると、以上の様にランダムに数値が出されます。
シーケンスに関するrandomなライブラリ
シーケンスに関する random
なライブラリについては以下の記事を参照にして下さい。
シーケンスは seq
と表示されます。
メソッド | 内容 |
choice(seq) | シーケンスからランダムに要素を1つ取得する |
choices(seq, k = 1) | シーケンスから 重複を許容してランダムに k 個の要素を取得し、リスト形式で返す |
sample(seq, k) | シーケンスから重複を許容せず、ランダムに k 個の要素を取得し、リスト形式で返す |
shuffle(seq) | シーケンスを並び替える |
以上のうち、shuffle
は破壊的なメソッドになります。
k
以外の英小文字を入れるとErrorが起こりますので、注意です。
それでは、以上のメソッドを実際に利用してみましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | import random seq= list(range(4, 20)) print(random.choice(seq)) print(random.choices(seq, k=1)) print(random.sample(seq, 4)) print(seq) random.shuffle(seq) print(seq) 12 [10] [14, 4, 11, 13] [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] [19, 8, 14, 16, 12, 15, 5, 4, 6, 18, 7, 13, 17, 9, 11, 10] |
カレンダー機能(日付と時刻)に関するライブラリ
日時と時刻機能のメソッドの基本
Pythonでカレンダー機能(日付と時刻)に関するライブラリを紹介します。
この日付と時刻に関するライブラリを使用すると、日付や時刻に関する計算を行う事が出来る様になるため、非常に便利です。
その様なライブラリを datetime
ライブラリと言います。
datetime
ライブラリは複数のデータを扱う事もできます。
1 2 3 4 5 6 7 | <span class="keyword">from</span> <span class="include">datetime</span> <span class="keyword">import</span> <span class="include">datetime</span>, <span class="include">timedelta</span>, <span class="include">timezone</span> jst_japan = timezone(timedelta(hours=+<span class="integer">9</span>), <span class="string"><span class="delimiter">'</span><span class="content">JST</span><span class="delimiter">'</span></span>) now_dtmjapan = datetime.now(jst_japan) print(now_dtmjapan) |
jst_japan = timezone(timedelta(hours=+9), 'JST')
について解説します。
timedelta(hours=+9)
と記載する事で "標準時から時差が9時間" という情報を持つオブジェクトが返ってきます。
そのオブジェクトに 「JST」という名前をつけた日時のオブジェクトを取得して jst_japan
に情報を格納します。
特定の指定した日時からある日時のオブジェクトを作りたいときは、次のような処理を行います。
"%Y-%m-%d %H:%M:%S"
%Y
, %m
, %d
, %H
, %M
, %S
は、各々 年
, 月
, 日
, 時
, 分
, 秒
を表します。
1 2 3 4 5 6 7 8 9 10 11 12 13 | from datetime import datetime, timedelta, timezone jst = timezone(timedelta(hours=+9), 'JST') dtm_jpn = "2018-12-03 03:35:18" dtm = datetime.strptime(dtm_jpn, "%Y-%m-%d %H:%M:%S") print(dtm) 2018-12-03 03:35:18 Process exited with code: 0 |
新しいメソッドがありましたので、解説します。
strptime()
メソッドの () の中に記入されている最初の引数 dtm_jpn は日時のデータ、2つ目の "%Y-%m-%d %H:%M:%S"
は日付の書式です。
strptime()
メソッドの () の中の1つ目に指定した日時データが、日付日時のデータとしてどのように表示されているかを2つ目の引数で指定しています。
日時と時刻計算の方法
ここで、日時計算をしてみます。
1 2 3 4 5 6 7 8 | from datetime import datetime, timedelta, timezone jst_jpn = timezone(timedelta(hours=+9), 'JST') dtm_christ = "2018-12-25 07:07:07" dtm = datetime.strptime(dtm_christ, "%Y-%m-%d %H:%M:%S") print(dtm + timedelta(weeks=1)) |
最終行の timedelta(weeks=1) は「時間差を一週間後にする」という指示を意味しています。
上記の計算結果は 2019-01-01 07:07:07
となります。
1週間(7日)後の日付は月や年を超えて、正確に翌年度の1月1日となっています。
まとめ|pythonのライブラリについて
今回はPythonの標準ライブラリのうち、頻用されるものを実例を通して紹介させて頂きました。
Pythonに搭載されている標準ライブラリは数多くあるため、実際に手を動かして使わないと覚えられないです。
少なくとも今回紹介したものはサラッと見て把握して置く様にしましょう。