[Python-de] Kennt eine Funktion ihren Namen?

Detlef Lannert lannert at uni-duesseldorf.de
Fri Feb 15 08:45:15 EST 2002


Martin v. Loewis wrote:
> Das geht so nicht. Ein Objekt (beispielsweise eine Funktion) kann
> unter verschiedenen Namen gebunden sein; es handelt sich jedoch stets
> um das gleiche Objekt.

Zumal das Objekt gar nicht unter einem Namen gebunden sein muß; z.B.

    sprachen = [lambda: "fr", lambda: "en"]; print sprachen[0]()

> Ich empfehle
> 
> franz = lambda:return sprache('fr')

return geht im lambda nicht. Evtl. hilft im konkreten Fall auch sowas:

    def sprich(was, sprache):
        print "Auf %s: %s" % (sprache, was)
    franz = lambda was: sprich(was, "Französisch")
    engl = lambda was: sprich(was, "Englisch")
    
    franz("Ils sont fous, les Romains.")

Hilft's?
  Detlef



More information about the Python-de mailing list