Pythonでモジュールを使う
モジュールは Python の定義や文が入ったファイル。 ファイル名はモジュール名に接尾語 ,py がついたものになる。 モジュールの中では、モジュール名をグローバル変数 __name__ で取得できる。
■クラスのモジュール
/dog.py
まずはモジュールを定義する。
class Dog:
name = ''
def __init__(self, name):
self.name = name
def cry(self):
print(self.name)
モジュールだからといって特に変わった記述をする必要はない。
/index.py
以下のようにして上述のモジュールを使用する事ができる。
import dog
pochi = dog.Dog('pochi')
pochi.cry()
ちなみに以下のようにしてしまうと、Dogクラスにアクセスできなくなってしまうので注意が必要だ。
import dog
dog = 'pochi'
pochi = dog.Dog('pochi')
pochi.cry()
また、以下のようにしても使用する事ができる。この場合、モジュール名dogがローカルのシンボルテーブル内では定義されない。
from dog import Dog
pochi = Dog('pochi')
pochi.cry()
更に、以下のように*を使用することもできる。この場合、アンダーバーで始まる名前以外を全てインポートすることができる。
from dog import *
pochi = Dog('pochi')
pochi.cry()
■関数のモジュール
/hoge.py
モジュールファイルに関数が記述されていることもあるはずだ。
str = 'fuga'
def fuga():
return str
/index.py
以下のようにしてhogeモジュールを使用することができる。また、モジュール内のグローバル変数にアクセスすることもできる。
import hoge hoge.str = 'piyo' value = hoge.fuga() print(value)# piyo
■モジュール検索パス
以下のようにインポートする場合を考える。
import hoge
上述の場合、モジュールは以下のパスから検索される。
- カレントディレクトリ内のhoge.py
- sys.pathリストのディレクトリ内のhoge.py
モジュールを定義するときは標準モジュールと名前が被らないようにしないと!
■パッケージ
/Hoge/__init__.py
パッケージの各ディレクトリに必要なファイル。ファイルの中身は空で良い。
/Hoge/dog.py
パッケージ内のモジュールについては以下のようにする。特に変わったところはない。
class Dog:
__name = ''
def __init__(self, name):
self.__name = name
def cry(self):
print(self.__name + ', bow!')
/index.py
パッケージ内のモジュールは以下のようにして使用する。
from Hoge import dog
pochi = dog.Dog('pochi')
pochi.cry()
また、以下のようにして使用することもできる。
import Hoge.dog
pochi = Hoge.dog.Dog('pochi')
pochi.cry()
TrackBack URL :
Comments (0)
コメントはまだありません»
コメントはまだありません。
この投稿へのコメントの RSS フィード。TrackBack URL
コメントする