ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

ユーザー定義の Python モジュールの呼び出し

この例では、次の Python® モジュールを使用してメソッドを呼び出す方法を説明します。このモジュールは、このドキュメンテーションの例で使用します。

この例では、MATLAB® でモジュールを作成する方法を説明します。mymod.py を Python エディターで作成する場合は、モジュールが Python 検索パス上にあることを確認してください。この例では、Python に慣れていないユーザー向けに、関数の呼び出しに関するヘルプを確認する方法についても説明します。

現在のフォルダーを書き込み可能なフォルダーに変更します。

新しいファイルを MATLAB エディターで開きます。

これらのコマンドをコピーし、そのファイルを mymod.py として保存します。

# mymod.py
"""Python module demonstrates passing MATLAB types to Python functions"""
def search(words):
    """Return list of words containing 'son'"""
    newlist = [w for w in words if 'son' in w]
    return newlist

def theend(words):
    """Append 'The End' to list of words"""
    words.append('The End')
    return words

MATLAB コマンド プロンプトから、現在のフォルダーを Python 検索パスに追加します。

if count(py.sys.path,'') == 0
    insert(py.sys.path,int32(0),'');
end

関数の呼び出し方法は、mymod.py ソース ファイル内の関数 search の関数シグネチャで確認します。この関数は、1 つの入力引数 words を取ります。

def search(words):

mymod.py ソース ファイル内で、関数のヘルプを読み取ります。Python の Web サイトのドキュメンテーションには、ヘルプは、"モジュールや関数、クラス、メソッド定義の先頭のステートメントとして置かれる文字列リテラル" の中に含まれるとあります。search のヘルプは、次のようになります。

"""Return list of words containing 'son'"""

関数はリストを返します。

MATLAB で入力引数となる名前のリストを作成します。

N = py.list({'Jones','Johnson','James'})
N = 

  Python list with no properties.

    ['Jones', 'Johnson', 'James']

関数 search を呼び出します。モジュール名と関数名の前に「py.」と入力します。

names = py.mymod.search(N)
names = 

  Python list with no properties.

    ['Johnson']

関数は、py.list の値を返します。

元の入力値、N は変更されません。

N
N = 

  Python list with no properties.

    ['Jones', 'Johnson', 'James']

関連するトピック