Pythonモジュールの設計と作成


簡単に述べる
Pythonでは、モジュールはPythonコードからなる.pyファイルであり、いずれのPythonファイルもモジュールとして参照することができる.
作成モジュールは、他のPythonファイルを作成するように、クラス、関数、変数の定義を含んで、他のPythonプログラムで使用できます.
|著作権声明:一、二、三里、ブロガーの許可を得ずに転載してはならない.
モジュール内の関数の定義
まず、script.pyという名前のファイルを作成し、関数を定義します.
#       
def hello():
    print("Hello, World!")

このスクリプトを実行して、何が起こるか見てみましょう.
$ python script.py 
$ 

プログラムに何をするかを教えていないため(関数定義のみで呼び出しはありません)、何も起こりません.
同じディレクトリの下にmain_program.pyというモジュールを作成し、モジュールをインポートし、ポイント(.)表現で関数を呼び出すことができます.
import script

#     
script.hello()

この新しいスクリプトを実行すると、対応する出力が得られます.
$ python main_program.py
Hello, World!

モジュール内の変数の定義
変数の定義は関数よりも簡単で、script.pyファイルに変数を追加します.
#       
var = 'I am a Pythonista.'

#       
def hello():
    print("Hello, World!")

次に、main_program.pyファイルでprint()関数を使用して変数を呼び出します.
import script

#     
print(script.var)

#     
script.hello()

プログラムを実行すると、次の出力が得られます.
$ python main_program.py
I am a Pythonista.
Hello, World!

モジュール内のクラスの定義
最後に、script.pyファイルでクラスを定義することもできます.Personクラスを作成します.nameageのプロパティと、印刷プロパティのprint_msg()関数が含まれます.
#       
var = 'I am a Pythonista.'

#       
def hello():
    print("Hello, World!")

#      
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def print_msg(self):
        print("name:", self.name)
        print('age:', self.age)

現在、このクラスはmain_program.pyで使用されています.
import script

#     
print(script.var)

#     
script.hello()

#    
programmer = script.Person('Waleon', 18)
programmer.print_msg()
script.Person()を使用してPersonクラスが呼び出されると、main_program.pyクラスの関数および属性にアクセスできます.
プログラムを再実行すると、次の出力が得られます.
$ python main_program.py
I am a Pythonista.
Hello, World!
name: Waleon
age: 18

注意:モジュールの導入方法はいろいろありますが、具体的にはPythonモジュールを参照してください.
ドキュメントの説明
モジュールを作成する際には、ドキュメントの説明(ドキュメント文字列、著作権、作成者など)をモジュールに追加することが重要です.
# encoding: utf-8
#
# Copyright (c) 2017 Waleon All rights reserved.
#
"""Custom module - Define a variable & function & class"""

#       
var = 'I am a Pythonista.'

#       
def hello():
    print("Hello, World!")

#      
class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def print_msg(self):
        print("name:", self.name)
        print('age:', self.age)

これはとても良いプログラミング習慣で、他の人に読むことができて、後で自分で参考にすることができます.
注意:Python 2を使用する場合.x、モジュールに中国語が含まれている場合は、ファイル符号化を宣言するコメント(モジュールの最初の行)を追加する必要があります.