1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

子供の想像力を伸ばしアイデアを形にする小学生向けプログラミング教室「プロスタキッズ」

Python超入門その26〜自分で書く前に標準ライブラリを確認しよう〜

Pocket

はじめに

標準ライブラリをしっかり活用できていますか?

Pythonには、非常にたくさんの標準ライブラリが用意されており、インポートするだけで簡単に使えるようになっています。
安定しており、バグなどもほぼありませんので、自前でコードを書くより標準ライブラリに頼ったほうがよいでしょう。

この記事では、Python初心者の方向けに、Pythonの標準ライブラリをコードを交えて紹介していきます。
よく使う便利なモジュールばかりなので、ぜひとも覚えておきましょう。

re(正規表現)

reは、正規表現(Regular Expression)を扱うためのモジュールです。
HTMLなどの非整形文字列から、特定の文字列を探し出すために活躍します。

正規表現の内容については、前回の記事をご覧下さい。

ここでは、関数についてさらに詳しくみていきます。次の例をみて下さい。

例:

 

この例では、match関数とsearch関数の2つの方法を使って、正規表現とマッチするか調べています。
match関数は、対象の文字列の先頭からしかマッチしないため、マッチせずにNoneが返ってきます。

一方、search関数は対象の文字列のどこであってもマッチするため、マッチオブジェクトを返します。
マッチオブジェクトは、マッチした文字列の情報を持ったオブジェクトです。

ここでは、groupメソッドを使ってマッチした文字列を取り出しています。
また、次のようにfindallメソッドを使うと、複数回のマッチにも対応できます。

例:

 

こちらの場合は、文字列のリストが直接返されるので注意しましょう。

datetime(日付)

プログラムでは、日付や時間を扱うこともよくあります。

そんなときは、datetimeモジュールの出番です。まずは、現在の日付を取得してみましょう。
次のようにします。

例:

 

現在の日付を取得するには、todayクラスメソッドを使います。
すると、dateオブジェクトを得られるので、そのまま表示したり、年月日を数値で取得したりできます。

また、次のように時刻を含めて取得することもできます。

例:

 

さらに、次のようにtimedeltaクラスを使って、日付の演算をすることもできます。

例:

 

timedeltaクラスは、日付の差分を表します。

この例では、1日の日付差分を作成して、今日の日付から引いています。
つまり、これで昨日の日付が求められるわけです。単純な引き算ではなく、年や月が変わる場合でもしっかり対応してくれます。

math(数学)

特に高度な数学プログラミングを行わない場合でも、mathモジュールのお世話になるでしょう。
よく使われるのは、次の2つの関数です。

例:

 

注意したいのは、切り上げと切り下げはmathモジュールにありますが、四捨五入は組み込み関数として提供されていることです。用途に応じて使い分けましょう。

random(乱数)

ときには、ランダムな値を取得したい場合もあります。

Pythonでは、そのためのrandomモジュールが提供されています。
次の例をみて下さい。

例:

 

この例では、1から9までのランダムな数値を出力しています。何度か実行してみて、毎回結果が変わることを確認してみて下さい。

引数の数値を変えることで、任意の範囲の乱数を得ることができます。

urllib.request(ネットワーク)

Pythonは、ウェブスクレイピング(ウェブからHTMLなどを取得してデータを抜き出すこと)にもよく利用されます。
標準ライブラリだけでも、次のように簡単にウェブからHTMLなどを取得することができます。

例:

 

対象のURLを指定すればいいだけなので、とても簡単にHTMLを取得できますね。
注意しなければいけないのは、対象のHTMLの文字コードを間違えるとデコードエラーになってしまうことです。

事前にブラウザなどで文字コードを確認しておきましょう。

まとめ

いかがでしたでしょうか?使えそうなライブラリは見つかりましたか?

Pythonには、他にもたくさんの標準ライブラリが用意されています。
公式ドキュメントをチェックしてみるとよいでしょう。
また、サードパーティ製の外部ライブラリも豊富です。

外部ライブラリについては、次回紹介していきます。
次回もぜひご覧下さい。

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

プログラミングで挫折しそうなら、現役エンジニアにマンツーマンで相談してみませんか?オンラインのプログラミングスクール「TechAcademy」のメンターが対応。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

ページ上部へ戻る