On 3/25/2015 1:43 PM, Ivan Evstegneev wrote:
Hello all ,
Just a little question about function's default arguments.
Let's say I have this function:
def my_fun(history=False, built=False, current=False, topo=None,
full=False, file=None):
if currnet and full:
do something_1
elif current and file:
do something_2
elif history and full and file:
do something_3
...... some code here..............
and so on...
I won't cover all the possibilities here (actually I don't use all of them
^_^).
The question is about avoiding the response for unnecessary combinations?
For instance, if user will call function this way:
my_fun(current=True, full=True, topo='some str', file="some_file")
That will lead to function's misbehavior. As a particular case it will
choose "current and full" condition.
What is the common accepted way to deal with such unwanted situations?
Raise a value error for illegal combinations. There are a few instances
in the stdlib where 2 of several options are mutually incompatible.
--
Terry Jan Reedy
--
https://mail.python.org/mailman/listinfo/python-list