【Python勉強会】外部モジュールのインポート

どうも!リョクちゃです。

今回は、Pythonファイルへの外部モジュールのインポートから使い方を紹介します。

主に使うモジュールは以下の通りです。

  • 時刻モジュール
  • カレンダーモジュール

ちなみに前回はこちら

関数に渡す引数にはどんな引数があるか、それぞれ紹介をしています。使い方や書き方を覚えることでさらにステップアップをしていきましょう。



目次

モジュールのインポート

外部のモジュールをインポートしたいときは以下の方法で行えます。

import <モジュール名>
スポンサーリンク




モジュールで提供される変数やメソッド(関数)を指定する場合

import <モジュール名.変数orメソッド名>

複数をインポートする場合

import <モジュール名1>, <モジュール名2>

インポートするモジュール名を別名で使用する場合

import <モジュール名> as <別名>

fromを使用した場合のインポート

from <モジュール名>
from <モジュール名> import <クラス名>

クラスを作るたびにモジュールを呼び出すのが面倒な場合に使用されますが、
クラスはまだ触れていないので、現時点では頭の片隅に残しておく程度で問題ありません。

時刻モジュールを使ってみる

Pythonにはインストール時に標準で付属されている時刻モジュールがあります。
これを使って、現在日時を取得してみます。

時刻を扱うモジュールには、

  • time
  • datetime

などがあります。

これらをインポートしてみると下のようになります。

これを実行すると、現在日時が取得され、出力がされるかと思います。

ここでは、まず準備としてtimeモジュールと、
datetimeモジュールをそれぞれインポートしています。

これらモジュールを使って、

datetimeモジュールでサポートされている、fromtimestampメソッドを呼び出し、

引数には、timeモジュールのtimeメソッドを呼び出しています。

fromtimestamp(time.time())と書くことで、現在のローカルな日時を取得しています。

同様に、

このように書いても出力結果は前のコードと同じになります。

ここで、出力された日時形式をより見やすくしてみましょう。
下のように書くことで、出力形式を見やすく変換できます。

strftimeメソッドを使うことで、()内の書式に合わせた形になるように変換しています。

文字意味
%Y西暦(4ケタ)の10進表記を表します。2020
%m0埋めした10進で表記した月09
%d0埋めした10進で表記した日18
%Aロケールの曜日名Friday
%H0埋めした10進で表記した時(24時間表記)08
%M0埋めした10進で表記した分30
%S0埋めした10進で表記した秒00
%f10進数で表記したマイクロ秒(左側から0埋めされます)。000000

他にもありますので、こちらをご参照ください。

Python 書式フォーマット



カレンダーモジュールを使ってみる

カレンダーモジュールは、”calendar”というモジュールを使用します。

実際にモジュールを使って、指定の日付を取得してみます。

month(年、月)と記述することでカレンダーを作成してくれるモジュールになっています。

週初めを日曜日にした場合のカレンダー

下のようにすることで週初めを日曜日にできます。

順を追って説明します。

① from calendar import TextCalendarは、

calendarモジュールのTextCalendarクラスをインポートしています。

② TextCalendar()で週初めを設定しています。

ここでキーワード引数のfirstweekdayに6(日曜日)を渡しています。

ちなみに0が月曜日で6が日曜日です。

③ formatmonth(年、月)で対象の年月のカレンダーを作成しています。

※ formatmonth()はTextCalendarクラスのメソッド(関数)になります。

ここでは、2020年、9月を引数にそれぞれ渡しています。

まとめ

外部モジュールを使う場合は、

import <モジュール名>
import <モジュール名.変数orメソッド名>
import <モジュール名1>, <モジュール名2>
import <モジュール名> as <別名>
from <モジュール名>
from <モジュール名> import <クラス名>

とそれぞれ書くことで使えるようになります。

<時刻モジュール>

time

datetime

<カレンダーモジュール>

calendar

calendar.TextCalendar

を今回使用しました。

他にもいろいろあるので必要に応じて調べてみてください。

・こちらの書籍を参考にPythonの理解を深めました。

スポンサーリンク




スポンサーリンク
スポンサーリンク