はじめに
※ MATLAB、Python、Scilab、Julia比較ページはこちら。
https://www.simulationroom999.com/blog/comparison-of-matlab-python-scilab/
Pythonに於けるユーザ関数作成方法の備忘録。
MATLABとことなり、関数名=ファイル名の制約がないため、ガンガン関数化してしまおうという気にさせてくれる。
戻り値を複数持てるので、ちょっと気を回せばPythonで書いたアルゴリズムをMATLAB、Scilabに転用、または逆輸入も可能。
ユーザ関数
ユーザ関数定義。
>>> def test_func(a,b,c):
... x=a+b
... y=a-c
... return x, y
...
>>>
関数の中の処理は半角スペース1つ以上を入れることで次の行も関数内の処理と認識される。
Enter2回で関数内部処理完了と認識される。
# a,b,cが引数
# x,yが戻り値
def test_func(a,b,c):
x=a+b
y=a-c
return x, y
関数を呼び出してみる。
>>> [A,B]=test_func(1,2,3)
>>> [A,B]
[3, -2]
関数をスクリプトファイルとして配置した際の呼び出しは、import文を使用する。
ここでは、上記関数を”test_func_file.py”に保存したものとする。
>>> import test_func_file as test
>>> [A,B]=test.test_func(1,2,3)
[3, -2]
importに続くasはエイリアスを意味する。
上記では、test_func_fileは長いのでtestというエイリアスを定義したことになる。
numpyに対してnpというエイリアスを置くことが多い。
まとめ
MATLABと異なり、関数名とファイル名が同一である必要はない。
その代わり、importで明示的に取り込む必要がある。
Pythonをガッツリ学習したい場合はオンライン学習サービスなどもあります。
オンラインPython学習サービス「PyQ(パイキュー)」公式ページ
ポイント
- 環境構築不要
- ブラウザだけで学習を始められる。
- 申し込みから4ステップで登録を完了
- 申し込み完了待ちとかない。すぐ始められる。
- 1,000問以上の実践的な課題がある。
※ MATLAB、Python、Scilab、Julia比較ページはこちら。
コメント