[Tutor] Why are expressions not allowed as parameters in function definition statements?

Joel Goldstick joel.goldstick at gmail.com
Sat Jun 18 16:14:44 EDT 2016


On Sat, Jun 18, 2016 at 3:04 PM, boB Stepp <robertvstepp at gmail.com> wrote:
> I have (Finally!) gotten a bit of time to look at Peter's answer to my
> Model-View-Controller question from May 29th, particularly his
> CircleImageView class to which he added a "#FIXME" comment.  I thought
> it would be helpful to abbreviate his distance function in the
> interpreter while I played around with pencil and graph paper.  I got:
>
> Python 3.5.1 (v3.5.1:37a07cee5969, Dec  6 2015, 01:54:25) [MSC v.1900
> 64 bit (AMD64)] on win32
> Type "help", "copyright", "credits" or "license" for more information.
> py3: def d(row, col/2, radius=5):
>   File "<stdin>", line 1
>     def d(row, col/2, radius=5):
>                   ^
> SyntaxError: invalid syntax
>
> And this surprised me.  It seems that only identifiers are allowed as
> parameters in a function definition statement, and I cannot help but
> wonder why?  It seems that in most other places in Python's syntax it
> will allow one to insert almost any kind of object or expression.
>
> TIA!
>
> --
> boB

I'll take a stab.  The function is defined once.  The parameters name
the arguments to be passed when the function is invoked.  They can
have defaults, but you are asking it to perform a calculation, which
would only be done when the function is defined.
> _______________________________________________
> Tutor maillist  -  Tutor at python.org
> To unsubscribe or change subscription options:
> https://mail.python.org/mailman/listinfo/tutor



-- 
Joel Goldstick
http://joelgoldstick.com/blog
http://cc-baseballstats.info/stats/birthdays


More information about the Tutor mailing list