shinoblog-manabu

Progate(プロゲート)を使って初歩の初歩からプログラミング勉強をはじめました。無料から有料バージョンへ以降しつつ、自分辞書として活用しています。なるべく私と同じ初心者目線を使い、各プログラミング内容を説明したいです。

モジュール ほかのモジュールをインポートする

ほかのモジュールをインポートする

 

例7-1:新しいモジュールを作り、それを別のモジュールからインポートして使う

f:id:shinoblog-manabu:20210621121914p:plain

f:id:shinoblog-manabu:20210621121940p:plain

 

tspフォルダ内に新しいファイル「project.py」を作成後、別のPythonファイルを作成する。そして以下のコードを書く。

f:id:shinoblog-manabu:20210621161250p:plain

f:id:shinoblog-manabu:20210621161255p:plain

-point-

先に作成したモジュールからもう1つのモジュールからインポートキーワードを使ってインポートした。

 

9-1:modulel.pyファイルに以下のコードを記入した

f:id:shinoblog-manabu:20210621161312p:plain

f:id:shinoblog-manabu:20210621161317p:plain

point

モジュールをインポートすると、そのモジュールコードはすべて実行される。

 

 

例10-1:ほかのモジュールであるmodule2.pyからインポートされるときに実行される

f:id:shinoblog-manabu:20210621161426p:plain

f:id:shinoblog-manabu:20210621161434p:plain

問題点

モジュールに動作確認用のテストコードを書いている場合、そのモジュールがインポートされたときに実行されたくないため、上記の動作は不便かもしれないという問題点がある。

 

解決方法

モジュールに書くコードを

if __name__ == “__main__”:

というコードの下に書く。

 

 

例10-1をさらに書き換えた場合が例11-1。

f:id:shinoblog-manabu:20210621161548p:plain

f:id:shinoblog-manabu:20210621161553p:plain

 

 

例12-1:module1.pymodule2.pyからインポートしたときはmodule1.pyprint関数は実行されない。出力(Hello!)もされない。

f:id:shinoblog-manabu:20210621161605p:plain

f:id:shinoblog-manabu:20210621161612p:plain

 

 

今回は以上っです。お疲れ様でした。