Python using *args with default argument -
python newb here. suppose have function
def myfunc(a = "apple", *args): print(a) b in args: print(b + "!") how pass set of unnamed arguments *args without altering default argument?
what want is
myfunc(,"banana", "orange") and output
apple banana! orange! but doesn't work.
(i'm sure has been discussed before searching came empty)
in python 3 can changing a keyword argument:
>>> def myfunc(*args, a="apple"): print(a) b in args: print(b + "!") ... >>> myfunc("banana", "orange") apple banana! orange! >>> myfunc("banana", "orange", a="watermelon") watermelon banana! orange! in python 2 you'll have this:
>>> def myfunc(*args, **kwargs): = kwargs.pop('a', 'apple') print b in args: print b + "!"
Comments
Post a Comment