【本日のミッション】
Day47では「パッケージ構造と init.py」を学びました。
今日は Python の重要な再利用機能である 自作モジュールの作成とインポート を学びます。
自分で作った関数を別ファイルにまとめて呼び出すことで、
コードを整理し、保守性を高める方法を理解しましょう。
目次
モジュールとは
モジュール(module) とは、Pythonのコードをまとめたファイル(.py)のことです。
関数や変数、クラスを1つのファイルに整理し、別のプログラムからインポートして使えます。
例:calc.py
これを別のファイルから呼び出すには:
出力結果
8 6
-
.pyファイル = モジュール -
import モジュール名で読み込む -
モジュール名.関数名()で実行できる
from ~ import の使い方
モジュール名を省略したい場合は、from 構文を使います。
出力結果
5
-
特定の関数・変数だけをインポート可能
-
不要な部分を読み込まずに済むため、コードがシンプル
as で別名をつける
長いモジュール名を省略したいときは as で別名をつけます。
-
名前衝突を避けたり、短くして使いやすくできる
モジュールを同じフォルダに置く
モジュールは 同じディレクトリにある 必要があります。
もし別フォルダにある場合は、パスを通すか sys.path に追加します。
例:
main.py で使う場合:
自作モジュールを再利用する
複数のプロジェクトで共通関数を使いたい場合、自作モジュールを作っておくと便利です。
出力結果
-
よく使う処理はモジュール化しておくと再利用しやすい
-
ファイル名がモジュール名になる
練習問題
次のファイル構成があります。
mymodule.py の内容:
main.py に正しいインポート文を追加して hello() を呼び出してください。
選択肢
A)
import hello
B)
from mymodule import hello
C)
import mymodule.hello
D)
import mymodule then hello()
解答
B)
from mymodule import hello
解説
mymodule は同じフォルダにあるため、from mymodule import hello で関数を直接呼び出せます。
👉 正解は
B)
from mymodule import hello
✅ ポイント
-
.pyファイルはすべてモジュールとして利用できる -
importでモジュールごと読み込み -
from ~ importで特定の関数だけ読み込み -
asで別名をつけて使いやすくできる -
同じディレクトリに置くとインポートが簡単
次回予告
Day49では「例外処理の基本(try, except)」です。
プログラムで発生するエラーを安全に処理するための仕組みを学びましょう。
参考
Python 3 エンジニア認定基礎試験 – Odyssey CBT
Python3 エンジニア認定基礎試験 出題範囲と学習プラン
Python3 エンジニア認定基礎試験 練習問題 Day1:変数の基本
Python3 エンジニア認定基礎試験 練習問題 Day2:変数の型(int型とstr型)
Python3 エンジニア認定基礎試験 練習問題 Day3:算術演算子と代入演算子
Python3 エンジニア認定基礎試験 練習問題 Day4:文字列の操作
Python3 エンジニア認定基礎試験 練習問題 Day5:比較演算子と論理演算子
Python3 エンジニア認定基礎試験 練習問題 Day6:if文(条件分岐)
Python3 エンジニア認定基礎試験 練習問題 Day7:ループ処理(for文・while文)
Python3 エンジニア認定基礎試験 練習問題 Day8:break文とcontinue文
Python3 エンジニア認定基礎試験 練習問題 Day9:リスト(list)の基本
Python3 エンジニア認定基礎試験 練習問題 Day10:リストの操作(append,remove,len など)
Python3 エンジニア認定基礎試験 練習問題 Day11:リストのスライス(部分取り出し)
Python3 エンジニア認定基礎試験 練習問題 Day12:タプル(tuple)の基本
Python3 エンジニア認定基礎試験 練習問題 Day13:辞書(dict)の基本
Python3 エンジニア認定基礎試験 練習問題 Day14:集合(set)の基本
Python3 エンジニア認定基礎試験 練習問題 Day15:関数の定義と呼び出し
Python3 エンジニア認定基礎試験 練習問題 Day16:関数のデフォルト引数とキーワード引数
Python3 エンジニア認定基礎試験 練習問題 Day17:可変長引数(*args, **kwargs)
Python3 エンジニア認定基礎試験 練習問題 Day18:関数のスコープ(ローカル変数とグローバル変数)
Python3 エンジニア認定基礎試験 練習問題 Day19:ネスト関数(関数の中の関数)
Python3 エンジニア認定基礎試験 練習問題 Day20:ラムダ式(無名関数)
Python3 エンジニア認定基礎試験 練習問題 Day21:組み込み関数(len, type, range など)
Python3 エンジニア認定基礎試験 練習問題 Day22:組み込み関数(sum,max,min,sorted)
Python3 エンジニア認定基礎試験 練習問題 Day23:文字列と組み込み関数(len,str,int,float)
Python3 エンジニア認定基礎試験 練習問題 Day24:組み込み関数(abs, round, pow)
Python3 エンジニア認定基礎試験 練習問題 Day25:組み込み関数(sorted の応用と key 引数)
Python3 エンジニア認定基礎試験 練習問題 Day26:組み込み関数(enumerate, zip)
Python3 エンジニア認定基礎試験 練習問題 Day27:組み込み関数(map, filter, reduce)
Python3 エンジニア認定基礎試験 練習問題 Day28:組み込み関数(any, all)
Python3 エンジニア認定基礎試験 練習問題 Day29:組み込み関数(isinstance,issubclass)
Python3 エンジニア認定基礎試験 練習問題 Day30:組み込み関数(callable, eval)
Python3 エンジニア認定基礎試験 練習問題 Day31:組み込み関数(dir, help)
Python3 エンジニア認定基礎試験 練習問題 Day32:組み込み関数(id, hash)
Python3 エンジニア認定基礎試験 練習問題 Day33:組み込み関数(repr, format)
Python3 エンジニア認定基礎試験 練習問題 Day34:組み込み関数(globals, locals)
Python3 エンジニア認定基礎試験 練習問題 Day35:組み込み関数(vars, callable)
Python3 エンジニア認定基礎試験 練習問題 Day36:組み込み関数(reversed, slice)
Python3 エンジニア認定基礎試験 練習問題 Day37:組み込み関数(getattr, setattr, hasattr, delattr)
Python3 エンジニア認定基礎試験 練習問題 Day38:組み込み関数(eval, exec, compile)
Python3 エンジニア認定基礎試験 練習問題 Day39:組み込み関数(zip の応用・辞書との組み合わせ)
Python3 エンジニア認定基礎試験 練習問題 Day40:モジュールの基本(import と from の違い)
Python3 エンジニア認定基礎試験 練習問題 Day41:as(別名インポート)と import の仕組み
Python3 エンジニア認定基礎試験 練習問題 Day42:標準ライブラリ(math モジュールの基本)
Python3 エンジニア認定基礎試験 練習問題 Day43:標準ライブラリ(random モジュールの活用)
Python3 エンジニア認定基礎試験 練習問題 Day44:標準ライブラリ(datetime モジュールの使い方)
Python3 エンジニア認定基礎試験 練習問題 Day45:標準ライブラリ(os と sys)
Python3 エンジニア認定基礎試験 練習問題 Day46:標準ライブラリ(pathlib とファイルパス操作)
Python3 エンジニア認定基礎試験 練習問題 Day47:パッケージ構造と __init__.py
Python3 エンジニア認定基礎試験 練習問題 Day48:自作モジュールの作成とインポート
Python3 エンジニア認定基礎試験 練習問題 Day49:例外処理の基本(try, except)
Python3 エンジニア認定基礎試験 練習問題 Day50:複数例外の処理と except as