Pythonモジュールコード作成基礎

1634 ワード

インポート注意:インポートは1回のみ発生します
デフォルトでは、Pythonは各ファイルのプロセスごとに1回のみ操作し、その後のインポート操作ではロードされたモジュールオブジェクトのみが取り出されます.
 
モジュールファイルの最上位レベルのプログラムコードは、一度だけ実行することで、変数を初期化できます.
例えば、simpleを定義する.pyファイル
print('hello')
spam = 1
 
import simpleを初めてインポートしsimpleを実行する.spam値は1でsimpleを設定.spam =2
2回目のimport simple,simple.spamは初期化されませんspam = 2
 
モジュールのネーミングスペース
インポートと役割ドメイン
 
global Xを付けなければ、印刷X値は88、加算値は99
__author__ = 'wangle1'
X=88
def f():
    #global X
    X=99
f();
print(X)

 
ネーミングスペースのネスト
 
 
 
使用可能:あるモジュールのコードをインポートしてもう一度実行する必要がある場合があります.reload内蔵関数を使用する必要があります.
リロードモジュール
コードの再ロードと再実行を強制するには、reload内蔵関数を呼び出す必要があります.
reload関数は、ロードされるモジュールを強制します.
 
reload関数は、プログラム全体を停止することなく、プログラムの一部を変更できます.
 
Reloadの使用
一、importやfromとは違うのは
1:reloadはPythonに組み込まれたオブジェクトで、文2ではありません.reloadに渡されるのは、変数名ではなく既存のモジュールオブジェクトです.
3:reloadはpython 3でモジュール内にあり、独自にインポートする必要があります.
print('hello')
spam =3

 
>>> import simple
hello
>>> simple

>>> simple.spam
3
>>> import simple
>>> simple.spam
3
print('hello')
spam =4

>>> from imp import reload
>>> reload(simple)
hello

>>> simple.spam
4