関数の定義
関数はサブ・ルーチンのようにメイン・ルーチンや別の関数からも
呼び出して実行することができますが
関数は呼び出す前に定義することが必要です。
高級言語(RPG/COBOL)のサブ・ルーチンはメイン・ルーチンの中で
使用(~実行)を定義するにしてもサブ・ルーチンはプログラム中の
どこに定義していても使うことができます。
( つまりメインルーチンの後にサブ・ルーチンを定義しても
かまいません。)
これに対してPythonの関数はサブ・ルーチンとよく似た使い方は
しますが必ず使用する前に定義しておく必要があります。
つまり
def suba()
:
def subb()
:
main()
という順序で記述します。
これに対してILE-RPGのプロシージャーやC言語では
mainルーチンの前にsub1, sub2, ...との記述が冗長になってしまうため
sub1() ..... sub1のプロトタイプ
sub2() ..... sub2のプロトタイプ
main
:
def sub1()
def sub2()
のように初めに関数またはプロシージャーのプロトタイプだけを
コンパイラーのために示しておいてmainルーチンの後に
関数またはプロシージャーの実体を記述する方法がとられますが
Pythonではプロトタイプの記述を認めていません。
したがってPythonでは defを使って次のように関数を関数が
使われる前に定義します。
def 関数名(引数1, 引数2, ...)
:
return 戻り値
の形式で関数を定義します。
Pythonですので関数の閉じカッコもありません。
#********************************************************
def SFCTL01_Check(): # 最上段 DSPTOP の妥当性検査
#********************************************************
if not SFCTL01.JUTANT.Chain(TANTO): # 担当者マスター
return False
:
return True