Pythonで関数を定義する時に、default値を与えることがしばしばあると思います。
以下のように仮に引数a,bを引き取ってその和を返す関数を考えることにします。
Python
def hoge(a,b):
return a + b
この時引数aのdefault値をa=1としたいと考えて以下のように関数を定義します。
Python
def hoge(a=1,b):
return a + b
すると
Error
SyntaxError: non-default argument follows default argument
とデフォルト値を取らない引数がデフォルト値を取る引数の後になってるよとお叱りを受けます。
そこで以下のように引数の順序をお叱りの通り直すとちゃんと定義できます。
Python
def hoge(b,a=1):
return a + b
ただそれだけの話です。
(おそらく処理系の話的なものだと思うけれど、実際のところどうなのだろう?)