Search code examples
pythonfunctionargumentsdefault

Function argument's default value equal to another argument


Is it possible to define a function argument's default value to another argument in the same function definition? Something like:

def func(a, b=a):
  print a, b

but that didn't work.


Solution

  • No. This is not possible. The Python interpreter thinks that you want to assign the default value of argument b to a global variable a when there isn't a global variable a.

    You might want to try something like this:

    def func(a, b=None):
        if b is None:
            b = a