Python & Raspberry Pi 開発ブログ ☆彡

Raspberry Pi 3の使い方、設定をわかりやすく解説。Raspberry Pi3 Model B(Element14版)、Raspbianを使用して開発中。

【スポンサーリンク】

python3:importの使い方

【スポンサーリンク】

今回はimportの使い方を説明したいと思います。規模が大きくなると、プロジェクトにフォルダを作成して、階層化してコードを整理しないと管理が難しくなります。フォルダ内のコードやファイルをimportして関数やクラスを使用する方法を記載します。

フォルダ内のファイルのimport

それではサンプルで動作を説明したいと思います。まず、フォルダ構成は下記とします。importA.pyのコードには、1つの関数と1つのクラスが書かれています。

◇フォルダ構成

|── top.py
|── testfolder
|    |── test.py

◇test.pyのコード

def func():    
    print("print_func")

class MyClass:    
    def __init__(self):        
        self.name = "MyClass"     
    def get(self):         
        return self.name    
    def set(self, name):        
        self.name = name

それではtop.pyからtest.pyの関数やクラスをimportして使えるようにします。いくつか書き方がありますので、場合に応じて使い分けてください。

from testfolder.test import func # from フォルダ名.pythonファイル名 import 関数名
from testfolder.test import MyClass # from フォルダ名.pythonファイル名 import クラス名
func() # インポートしたfunc関数が使える
a = MyClass() # インポートしたMyClassクラスが使える
print(a.get())
from testfolder import test # from フォルダ名 import pythonファイル名
test.func() # インポートしたtest.py内のfunc関数が使える
a = test.MyClass() # インポートしたtest.py内のMyClassクラスが使える
print(a.get())
from testfolder import test as re_test # asを使うとモジュールの名前を置き換えることができる test ⇒ re_test
re_test.func()
a = re_test.MyClass()
print(a.get())

上記、3つは全て同じ結果になります。fromでパスを指定して、importでモジュールや関数/クラスをして読み込むという形になります。

pythonに戻る
トップに戻る