Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #87972
| From | "Ivan Evstegneev" <webmailgroups@gmail.com> |
|---|---|
| References | <009d01d06723$38860d50$a99227f0$@gmail.com> <meuvkb$e5t$1@ger.gmane.org> |
| Subject | RE: Function Defaults - avoiding unneccerary combinations of arguments at input |
| Date | 2015-03-25 21:50 +0200 |
| Newsgroups | comp.lang.python |
| Message-ID | <mailman.158.1427313051.10327.python-list@python.org> (permalink) |
Hello again ^_^,
Googled a bit, and found only one, a "ValueError" exception, but still don't
understand how it should be implemented in my case.
Should my code look like this one:
def my_fun(history=False, built=False, current=False, topo=None,
full=False, file=None):
try:
if currnet and full:
do something_1
elif current and file:
do something_2
elif history and full and file:
do something_3
except ValueError:
print("No valid input! Please try again ...")
...... some code here..............
Or I'm just too optimistic ^_^?
Thanks in advance,
Ivan.
> -----Original Message-----
> From: Python-list [mailto:python-list-
> bounces+webmailgroups=gmail.com@python.org] On Behalf Of Terry Reedy
> Sent: Wednesday, March 25, 2015 20:43
> To: python-list@python.org
> Subject: Re: Function Defaults - avoiding unneccerary combinations of
> arguments at input
>
> 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
Back to comp.lang.python | Previous | Next — Next in thread | Find similar | Unroll thread
RE: Function Defaults - avoiding unneccerary combinations of arguments at input "Ivan Evstegneev" <webmailgroups@gmail.com> - 2015-03-25 21:50 +0200
Re: Function Defaults - avoiding unneccerary combinations of arguments at input Rob Gaddi <rgaddi@technologyhighland.invalid> - 2015-03-25 20:07 +0000
RE: Function Defaults - avoiding unneccerary combinations of arguments at input "Ivan Evstegneev" <webmailgroups@gmail.com> - 2015-03-25 22:43 +0200
csiph-web