Python:importの使い方(from,asやルールについて)

Python:importの使い方(from,asやルールについて)

Pythonでは組み込み関数以外(標準・拡張モジュール)を利用する時にはimportメソッドで読み込む必要があります。
ここでは、importメソッドについて以下の内容を解説します。

  • importの基本的な使い方
  • from-importの記述について
  • import-asの記述について
  • importエラーの対処法
  • 補足:組み込み関数/標準モジュール/サードパーティモジュール

importメソッドとは

組み込み関数はそのまま使えますが、pythonには目的に応じた便利な標準モジュールが用意されています。
標準モジュールやサードパーティモジュール、自作のモジュールを利用する時に必要となるのが、
importメソッドを使用してモジュールを読み込む必要があります。

importメソッドの使い方

importの基本的な使い方を解説します。

記述方法

importメソッドの記述方法は、

import モジュール名

でモジュールを読み込み使うことができます。
一般的には、プログラムソースの先頭でまとめて記述します。
PEP8では非推奨となっていますが、複数のモジュールを読み込む場合は

Import モジュール名,モジュール名,モジュール名

でも読み込めます。

モジュールのインポート順

モジュールをインポートする順番によってエラーになる事はありませんが、
PEP8で推奨される順番は以下の遠です。

  • 標準モジュール(sysやrandam)
  • サードパーティモジュール(bs4などインストールしたモジュール)
  • 自作のモジュール

各グループ間は空白行を入れます。

標準モジュールが組み込み関数のように扱われない理由

組み込み関数はimport不要でそのまま使えます。
Sysやrandamといった標準モジュールもpythonが用意したモジュールなので
import不要にした方が良いと考えてしまいがちですが、
import不要にするとリソース(メモリやCPU)を無駄に使うことになります。

from-importの記述について

importでモジュールを読み込むと、モジュール全体が読み込みますが、from-importで記述するとモジュールの一部(オブジェクト)を読み込みこみます。

from-importのの記述方法は、

from モジュール名 import オブジェクト名

例えば、umaiboモジュールのkakakuオブジェクトだけを読み込みたい場合は、

from umaibo import kakaku

ちなみにオブジェクト名にワイルドカード(*)を記述すると、全てのオブジェクトを読み込みます。

import-asの記述について

コード中でライブラリ名を簡略化したい場合、asを使います。

import-asの記述方法は、

import モジュール名 as 簡略化名

例えば、datetimeモジュールなどモジュール名が長いとき、モジュール名をasで簡略化すれば、コードを書く労力が若干減りますね。

import-asの記述例

>>> import datetime as dt
>>> now = dt.datetime.now()
>>> print(now)
2020-09-11 18:06:36

importエラーの対処法

正しくモジュールのimportができないとimportエラーが発生します。
大体のケースは

  1. モジュール名の間違い(スペルミス)
  2. インストールしていないモジュールの読み込み

の2つのケースが多いかと思います。

エラーの原因や対象方法については
Python:モジュールのimportができない時の対処方法」に記載しています。

補足:組み込み関数・標準モジュール・サードパーティモジュール

組み込み関数

importを必要としない最初から用意されているメソッドです。

標準モジュール(標準ライブラリ)

pythonのインストール時に同封されているモジュールです。

標準モジュールの一覧は、Python 標準ライブラリで確認できます。

これらを使うプログラムを記述する時は、import文で読み込みましょう。

サードパーティモジュール

必要に応じてインストールするモジュールです。
スクレピングで使うBeatiful Soupや、数値計算や行列を扱うNumPyなどです。

標準モジュールと同様に、これらを使うプログラムを記述する時は、import文で読み込みましょう。
またサードパーティをインストールする際にはpipコマンドでインストールしましょうね。

pythonカテゴリの最新記事