前回,前々回に続き,CプログラマのためのPython学習についてです.今回は関数の定義と利用について紹介していきます.
関数の定義
関数の考え方はC言語とPythonでは大きく異なりませんが,定義方法はPythonの書き方というのがありますので,それを覚えてください.
C言語
#include int add(int x, int y){ int z = x + y; return z; } int sub(int x, int y){ int z = x - y; return z; } int main(void){ int x = 3; int y = 4; int z = add(x, y); int w = sub(x, y); printf("%d\n", z); printf("%d\n", w); return 0; } >>7 >>-1
Python
def add(x, y): z = x + y return z def sub(x, y): z = x - y return z x = 3 y = 4 z = add(x, y) w = sub(x, y) print(z) print(w) >>7 >>-1
Pythonの関数を定義するときは“def ○○(引数):”と書きます.また,for文やif文同様に処理内容は“def”の一段下にインデントをつけてから処理内容の記述を開始します.インデントがなかったり,インデントの位置がずれていたりするとエラーが出るので注意してください.
別ファイルからの関数呼び出し
C言語では”.h”で終わるヘッダファイルを用いることで,別ファイルに定義されている関数などを呼び出すことが可能です.Pythonにおいても“.py”で終わるファイル内に記述された関数を別ファイルから呼び出すことが可能です.
C言語
今回は1つのヘッダファイル,関数を定義するファイル,main()のファイルに分割する例を作ります.
/* function.h 関数の宣言 */ int add(intx, int y);
/* function.c 関数の定義 */ int add(int x, int y) { int z = x + y; return z; }
/* main.c main()のファイル */ #include #inclide "function.h" /* 自作ヘッダファイルは""でくくる*/ int main(void) { int x = 3; int y = 4; int z = add(x, y); printf("%d\n", z); return 0; } >>7
このようにC言語の場合,このようにファイルを分割して別ファイルから関数を呼び出します.
Python
関数定義ファイルとmain()のファイルに分割する例を紹介します.
# function.pyという関数が定義されたファイルを用意する def add(x, y): z = x + y return z
# main.pyというファイルでfunction.pyの関数を呼び出す import function x = 3 y = 4 z = function.add(x, y) print(z) >>7
function.pyというファイルに定義した関数はmain.pyで“import function”と記述しモジュールとして読み込みます.そしてコード内で“function.add(引数)”で関数を呼び出すことができます.
つまり,関数を記述したファイルを“import モジュール名(ファイル名)”で読み込み,“モジュール名.関数名()”で呼び出すことができます.一つ注意事項があるとすれば,基本的には同一ディレクトリ内に両方のファイルを入れておく必要があるということです.
最後に...
とりあえず,これにてCプログラマのためのPython学習シリーズを閉めようと思いますが,学生からの要望を取り入れ,随時,改善・追加していこうと思います.
以上,CもPythonも中途半端に学習している者が書いたCプログラマのためのPython学習シリーズでした.
コメント