Pythonのモジュールとは?
一度作成した関数やクラスを,再利用するためにファイルとして分割しておいたもの。
個々の.py
ファイルを__モジュール__または__ライブラリ__と呼ぶ。
Pythonでは,ファイル名から拡張子を除いた部分をモジュール名としている。
各.py
ファイルをインポートすることで,モジュール内の関数やクラスを使用することが可能となる。
モジュールのインポート方法(基本)
一番基本となるインポートの仕方はこう。
- モジュールとしたいソースファイル
test.py
class AAA:
def __init__(self, a):
self.a = a
def get_a(self):
return self.a
def add_a(self):
self.a += 1
- インポートする側のソースファイル
main.py
# import "モジュール名"
import test
# インポートしたモジュールの関数(メソッド)やクラスを使用する場合
A = test.AAA(1) # モジュール名.クラス名or関数名
A.add_a() # インスタンス.メソッド名
b = A.get_a # b=2
インポート時に名称を付ける
名前をつけてあげることで,長いモジュール名などを省略できちゃう。
例)import pandas as pd
import numpy as np
- インポートする側のソースファイル
main.py
# import "モジュール名" as "付けたい名前"
import test as t
A = t.AAA(1) # 付けた名前.クラス名or関数名
A.add_a() # インスタンス.メソッド名
b = A.get_a # b=2
直接インポートしてしまう
モジュール名の表記を省略出来るため,頻繁に使用するクラスとかで行う。
例)from keras.layers import Conv2D
from PIL import Image, ImageDraw
- インポートする側のソースファイル
main.py
# from "モジュール名" import "クラス名or関数名"
from test import AAA
A = AAA(1) # クラス名or関数名
全部インポート
モジュールから大量にインポートする場合に楽チン。モジュール内の全ての関数やクラスがインポートされる。
例)from PIL import *
- インポートする側のソースファイル
main.py
# from "モジュール名" import *
from test import *
A = AAA(1) # クラス名or関数名
パッケージからインポートする
複数のモジュールが格納されているディレクトリのことを__パッケージ__と呼称する。
- インポートする側のソースファイル
main.py
# ~~~ディレクトリ構成~~~
# カレントディレクトリ-src-test.py
# └main.py
# import "パッケージ名.モジュール名"
import src.test
A = src.test.AAA(1) # パッケージ名.モジュール名.クラス名or関数名
# or
# from "パッケージ名" import "モジュール名"
from src import test
A = test.AAA(1) # モジュール名.クラス名or関数名
Pythonの標準ライブラリ
よく使いそうなやつ
モジュール名 | 概要 |
---|---|
os | OS関連 |
os.path | パス関連 |
sys | Python実行環境 |
io | 入出力 |
datetime | 日時 |
calendar | カレンダー |
time | 時間 |
re | 正規表現 |
math | 数学 |
random | 乱数 |
statistics | 統計 |
json | json |
csv | csv |
sqlite3 | SQLite |
zipfile | zipファイル |
tarfile | tarファイル |
html | HTML |
html.paser | HTML解析 |
http | HTTP |
urllib | URL |
urllib.request | URLリクエスト |
socket | ソケット |