Atom's tech blog

Pythonを勉強しよう! 他モジュールのクラスをインポート

f:id:iAtom:20201119115540j:plain

Python初心者の備忘録.....

今回は他のPythonファイル(モジュール)をインポートする方法です。

インストールしたパッケージや自分で作成したPythonファイルを利用したいときがあります。 そのときは「 import 」文を用いて、そのモジュールを使うことを宣言する必要があります。

またファイルの先頭に静的に「 import 」宣言ではなく、ある条件下のときに インポートすることも可能です。 そのときは「 importlib 」パッケージを使用します。

モジュールとは、Pythonのソースファイル

パッケージとは、複数のモジュールで構成されたものを一つのディレクトリに入れて整理されたもの

基本的なimport宣言

「 import <モジュール名> 」、「 import <パッケージ名> 」を宣言することで、記述したモジュール、パッケージを取り込みし、使用することができます。

import後に使用するときは 「 <モジュール名 or パッケージ名>.<メソット名> 」、「  <モジュール名 or パッケージ名>.<変数名> 」で宣言し、メソッドや変数にアクセスします。

import os

os.system("ls")

別名を任意につけたimport宣言

「 import <モジュール名> [as 別名] 」、または「 import <パッケージ名> [as 別名] 」を宣言することで、モジュール名、パッケージ名ではなく、任意につけた別名で記述した名称でpythonファイルを取り込みし、使用することができます。

import後に使用するときは 「 <別名>.<メソット名> 」、「 <別名>.<変数名> 」で宣言し、メソッドや変数にアクセスします。

import numpy as np

P = np.array([0, 1, 2, 3, 4, 5]) 

複数のimport宣言

import <モジュール名> , <モジュール名> 」で複数のモジュールをインポートできますが、推奨されていないようです。基本的には一行ずつインポートで。

import os
import numpy as np

モジュール内の特定のメソッドのimport宣言

from <モジュール名> import <メソッド名 or クラス名 or 変数名> [as 別名] 」を宣言することで使用することができます。

下記サンプルは「 mathモジュール 」の「 floor 」メソッドを名称を「 max 」として使用しています。

from math import floor as max

print(max(4.5))

# 4

動的にインポート

Pythonの標準パッケージとして組み込みされている「 importlib 」パッケージを使用します。

ここではimport_module関数を使用して「 os 」をインポートしています。

from importlib import import_module

if  input() == "1":
    # OSモジュールのインポート
    os = import_module("os")
    os.system("pwd")

「 importlib 」には様々な関数が用意されていますので、下記を見てください。

docs.python.org