New user's initial thoughts / criticisms of Python

rusi rustompmody at gmail.com
Mon Nov 11 10:14:14 EST 2013


On Monday, November 11, 2013 7:31:07 PM UTC+5:30, Roy Smith wrote:
> > On Saturday, November 9, 2013 10:30:26 AM UTC-6, rusi wrote:

> > > print ( {"mon":"mondays suck",
> > >          "tue":"at least it's not monday",
> > >          "wed":"humpday"
> > >         }.get(day_of_week,"its some other day")
> > >       )

>  Rick Johnson  wrote:
> > Proper code formatting can do WONDERS for readability!
> > d = {
> >     "mon":"mondays suck",
> >     "tue":"at least it's not monday",
> >     "wed":"humpday"
> >     }
> > default = "some other day"
> > target = "tue"
> > print d.get(target, default)
> > target = "blah"
> > print d.get(target, default)

> I agree that Rick's version is better than rusi's version, but possibly 
> not for the the reason Rick thinks it is :-)  rusi's version has a 
> "parsing surprise" in it.  As a human scans the code, the thought 
> process goes something like this:

Yes I did not like my own version for similar reason: I expect the
switch order (classic C) to be
1. expression
2. body
3. default

The following does not quite do it but is it better?

def switch(val, default, body_dict):
    return body_dict.get(val,default)

day=...
switch(day,  "something else",
             {"mon"  : "mondays suck",
              "tue"  : "at least it's not monday",
              "wed"  : "humpday"
             }
      )

Of course one can flip the body and the default but I find that looks more confusing.



More information about the Python-list mailing list