【python応用編2】 標準ライブラリー

第2回 【python応用編2】 標準ライブラリー

今回は標準ライブラリーについて説明させていただきます。本講座ではライブラリーの使い方から、実際にプログラミングして解説を行なっておりますので、ぜひ最後までご覧ください。

はい、今回もpythonを使ってanacondaのspyderで解説致します。

まず標準ライブラリーとは簡単に言いますと、便利な機能が詰まったものとイメージしてください。

厳密には違うのですがイメージとしてpythonをiphoneで例えますと、カレンダーを見たい場合はカレンダーアプリをインストールしますよね。計算をしたい場合は、電卓アプリをインストールしますよね、このようにして自分が使いたいものをインストールしてiphoneを使うことができます。pythonはこのように、既に便利な機能を持ったものがありますので、それをimport、つまり読み込むことで、便利な機能を用いたプログラムが作成できるようになります。

実際にプログラムを確認してみましょう。♪( ´θ`)ノ

ライブラリーを読み込む基本式はこのように記載します。

import ライブラリー名

これをプログラムの先頭に書くことで、便利な機能を使用することができます。では、実際に便利な機能を使ってみましょう。♪( ´θ`)ノ

今回は試しにランダムという標準ライブラリを使ってみたいと思います。ランダムを用いて実際にゲームを作ってみます。ランダムとはある特定の範囲の値をランダムに取り出すことができるものです

実際に軽く触れてみましょう。ランダムを用いて、大吉と中吉と吉を表現してみましょう。整数の乱数を表現したい場合はこのように記載します。

random.randrange(下限値,上限値)

もう皆さんはご存知だと思いますが、これは下限値以上、上限値未満ですので上限値を記載する際に気を付けてくださいね。

ですので今回の場合ですとこのように書くことができます。

import random
rnd=random.randrange(1,11)
if 1<=rnd and rnd<=5:
        print("吉")
if 5<rnd and rnd<10:
        print("中吉")
if rnd==10:
        print("大吉")
print("終了")

これで実行してみますと。

このようにランダムな値が取れることが確認できます。ぜひみんさんも実際に体感してみてください。運の良い方は大吉になったと思います。♪( ´θ`)ノ

乱数を利用した、例としては受験生の実力試験や就職試験などの問題をカンニングできないよう一人一人に別の問題を提供するシステムなどがあります。これらは乱数が採用されているケースが多くあります。応用編となり、講座が長くなりますので、今回は割愛しますが、実際にワトソン博士のAIComitでは解説まで行っておりますので気になる方はこちらからアクセスください。

次にもう1つの皆さんが必ず使う、calenderライブラリーについて触れてみます。ちなみに、pythonでは厳密にはライブラリではなくパッケージと呼びます。他の言語では一般的にライブラリー、ライブラリーと呼んでいますのでこの講座もライブラリーと呼ばせて頂きます。ここでカレンダーライブラリーを使うときは先ほど同じく

import calendar

と書いても良いのですが、 このカレンダーというライブラリーは複雑ですのでfromを使用します。このように書けます。

from calendar import TextCaledar

簡単に説明しますとcalendarというライブラリーの中にこのTextCaledarという機能があります。fromは「calendarから、TextCaledarをインポートします」という意味です。なぜ機能を特定するかと言いますと。例えばカレンダー機能の中には様々な機能があります。カレンダー機能そのものをインポートするとプログラムを作成する際に、他の変数と名前が重複してしまう可能性があります。名前が重複することでプログラムが誤動作を起こしてしまう可能性があります。ですので、インポートする際は必要な機能のみインポートするようにしましょう。

では、実際にカレンダーを出力してみます。

from calendar import TextCaledar
2020_calendar =TextCalender(firstweekday=6)
print(2020_calender.formatmonth(2020,4))

簡単に説明しますと、2020_calendarという変数にText型のカレンダーのオブシェクを作成します。そして、formatmonthでひと月分のカレンダーを文字列で返し、それをprintで表示します。ですのこれを実行しますとこのようにカレンダーが出力できました。

はい、最後に実務などで使用する文章処理についても扱ってみたいと思います。文字列を処理する際に必須となる正規表現を確認しておきましょう。♪( ´θ`)ノ正規表現とは簡単に言いますと、自分が探したい文字列を決まったパターンとして定義させ、それをもとにたくさん文字列からの検索や置換を行うというものです。例えば、「名前をだけを取り出す」とか「電話番号を取り出す」というようなことができます。では実際にプログラムを確認してみましょう。

正規表現を使用したい場合は、

import re

と書きます。

まずは置換を行ってみたいと思います。置換を行うsub関数が標準ライブラーで用意されてますので、これを利用します。書き方はこのように書きます。

re.sub(パターン,置換文字列,対象文字列,flags=オプション設定)

この第1引数のパターンというのは検索文字列という意味です。次の第2引数の置換文字列は検索文字を置換させた後の文字列です。次の第3引数の対象文字列とは置換したい文字列を指します。そして最後のこのflagsというのは簡単にいますと検索の条件をきめるところです。

では、実際に置換してみましょう。まずは適当に文字を入力してきます。

import re
//↓↓↓追加
st='''
watson python,WATSON PYTHON,fuziwara nagisa,
one,two,three four,Five,Aicomit watsonproject
'''
//↑↑↑追加

文字を変数stに代入します。ここで少し補足説明ですが、シングルクォーテーション3つをつけると、シングルクォーテーション3つをつけたところからシングルクォーテーション3つをつけるところまで文字として認識してくれます。そして次にサブ関数を実際に使ってみましょう。

このように書いてみます。

import re
st='''
watson python,WATSON PYTHON,fuziwara nagisa,
one,two,three four,Five,Aicomit watsonproject
'''
//↓↓↓追加
result=re.sub('watson','Aicomit',st,flags=re.IGNORECASE)
print(result)
//↑↑↑追加

文字列のwatsonをAicomitに変更します対象文字列はstの中です。オプションはIGNORECASEで大文字小文字を同様に置換させる設定です。置換された文字列をresult変数に入れ、printで出力してみましょう。これで実行してみますと。

このように、watsonが大文字小文字に関わらずAicomitに置換されていることが確認でます。

少し応用編です。この

st=‘’’
藤原 000-(0000)-0000 fuziwara@watson
西村 222-2222-2222 nishimura@watson
小林 333-(3333)-3333 kobayashi@watson
‘’’

次はこの文字列から置換ではく、名前、電話番号、メールアドレス、をそれぞれ抜き出してみてください。これは調べないとできませんが、実務でも用いますので、是非確認してみてください。応用編となり、講座が長くなりますので今回は割愛しますがワトソン博士のAIComitでは解説まで行っておりますので気になる方は概要欄からwebサイトまでアクセスしてください。はい、今回は標準ライブラリーについてということでライブラリーの概念から、実際にランダムとカレンダーの正規表現のreライブラリーを用いて、プログラミングを行ってみました。ライブラリーを使用したい場合は先頭でインポートするんでしたね。実務応用編です。実務で必ず使用する標準ライブラリーについての説明をしていますので、是非ご覧ください。

以上で、python入門を終了と致します。ご静聴ありがとうございました♪( ´θ`)ノ。

最近の記事

  • 関連記事
  • おすすめ記事
  • 特集記事

コメント

この記事へのコメントはありません。

CAPTCHA


PAGE TOP