\

Pythonで長いコードを書いていると、エラーが起きた時にどの文が原因でエラーが起きているのかを特定するのが大変になることがあります。しかし、Pythonにはコードを分割しても読んでくれる仕組みがあります。

モジュールとは?

Pythonのコードを書くとき、基本的には.pyファイルで保存して作っています。.pyファイルを「モジュール」とPythonでは呼んでいます。

モジュールの作り方

  1. 移動したい関数を別ファイル (.py)にカット&ペースト
  2. 元のファイルで呼び出すimport ファイル名
  3. モジュールの使用モジュール名.関数名 ()

この ①で作ったファイルがモジュールで、ファイル名 (.py除く)がモジュール名になります。

モジュールの呼び出し方

モジュールの関数を呼び出すには以下のようにします。

  1. 最初の1行目にimport [モジュール名]※.pyは除いておく!
  2. モジュールの名前.関数の名前 ([引数])

これで、コードの分割が可能です。

モジュール化の例

例えば、以下のようなコードがあったとします。

def konchiwa (name):  
    print (f' {name}さん こんちわ! ')   

def birthdayDog (name, age="24"):  
    print (f' {name}さん、 {age}歳のお誕生日おめでとうございます。 ')   
    dogyear = age*7  
    print (f' {name}さんのdogyearは {dogyear}歳です')  

def validate (age):  
    if age<10: return False  
    return True   

これをモジュール化すると以下のようになります。

# hello.py
def konchiwa (name):  
    print (f' {name}さん こんちわ! ')   

# dog.py
def birthdayDog (name, age="24"):  
    print (f' {name}さん、 {age}歳のお誕生日おめでとうございます。 ')   
    dogyear = age*7  
    print (f' {name}さんのdogyearは {dogyear}歳です')  

def validate (age):  
    if age<10: return False  
    return True   

そして、これらのモジュールを読み込むには以下のようにします。

# main.py
import hello
import dog

print ('挨拶して、ドッグイヤーを求めるプログラムです。 ')
name = input ('お名前を教えてください:')  
print ('---------------------------')
hello.konchiwa (name)  
age = int (input ('\\n年齢を教えてください:'))
if dog.validate (age):  
    dog.birthdayDog (name, age)
else:  
    print ('正しい年齢を入力してください')

以上がPythonでコードを分割し、モジュール化する方法です。この方法を使うと、コードが見やすくなり、エラーの原因を特定しやすくなります。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です