関数の定義

最終更新: 2025-10-30

関数はサブ・ルーチンのようにメイン・ルーチンや別の関数からも
呼び出して実行することができますが
  関数は呼び出す前に定義することが必要です。

高級言語(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