Jeremy Banks wrote:
Thanks for your comments.

On Thu, Apr 23, 2009 at 11:52, Gary Herron <gher...@islandtraining.com> wrote:
[...]
There's no need for a specific addition to the syntax to do this.

Try this:

  def foo_bar():
      return(...)
  foo.bar = foo_bar

[...]
and this:

  def foo_bar():
      return(...)
  foo["bar"] = foo_bar


I understand that this is possible now, but I just don't see why it's
necessary to do it at all.

In this case I could see there being a problem in that there's nothing
to get the function's __name__ from, but that doesn't apply for the
first example.

Not sure what you mean here.

        >>> def foo(): pass
        ...
        >>> bar = foo
        >>> bar.__name__
        'foo'
        >>>

If I defined foo.bar it would know that the method name was "bar", but
if I defined foo["bar"] there's be no clear identifier to use for the
function's name. I don't see this as a great problem, since anonymous
functions already exist, but I thought it was worth acknowledging.

To be clear, I don't see this as a serious fault in the language, but
as an unnecessary restriction that makes code a little less direct
than it could be.


Things like your suggestion are called "syntactic-sugar" -- syntax that adds a convenience, but *no* new functionality. Python has plenty of "syntactic-sugar"s, and more will be added in the future. To make an argument for such an addition, one would have to describe some compelling (and general) use cases in a well-argued PEP. You're welcome to try, but be forewarned, most PEP's (especially syntax changing PEPs) don't fly far.


--
http://mail.python.org/mailman/listinfo/python-list

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to