Pythonでは、デフォルトの引数が最後に来ること、およびデフォルト以外の引数がデフォルトの引数の後に続くことができないことを理解しています。それは結構です。たとえば、次のようになります。
>>> def foo(x=0, y):
return x, y
SyntaxError: non-default argument follows default argument
さすがに大丈夫です。
ただし、最初の引数をデフォルトの引数にしたい場合はどうでしょうか。たとえば、上記のコードから明らかなx
ように、最初の引数である必要があり、デフォルト値は0である必要があります。
これを行うことは可能ですか?range
関数の中でも、次のようなものだと思いますので、お願いします。
def range(start=0, end):
pass
では、これはどのように行われ、それが不可能な場合、これはどのように実装されrange
ますか?私は最初の引数をデフォルトにすることを主張していることに注意してください。それが全体のポイントです。range
私の問題に完全に適合するので、例として使用しています。もちろん、range
として実装することもできますdef range(end, start=0)
が、それは重要ではありません。