Seite 1 von 1

Code 'identisch'?

Verfasst: Mittwoch 5. September 2012, 09:06
von heiliga horsd
Hallo,

habe eine etwas komische Frage. Gegeben se folgende Funktion:

Code: Alles auswählen

def quad(x):
    print(x*x)
Ist nun

Code: Alles auswählen

def Quadrieren(x):
    quad(x)
identisch zu

Code: Alles auswählen

Quadrieren = quad
Beim Aufrufen von Quadrieren(x) passiert zwei mal das selbe - gibts da irgendwelche Unterschiede der beiden Vorgehensweisen die man kennen/beachten sollte?

Gruß,
heiliga horsd

Re: Code 'identisch'?

Verfasst: Mittwoch 5. September 2012, 09:16
von BlackJack
@heiliga horsd: Also *identisch* würde ich nicht sagen, aber zumindest äquivalent was das Ergebnis/den Effekt angeht. Wenn man sich die Funktion(en) genauer anschaut kann man natürlich schon Unterschiede ausmachen. Zum Beispiel liefert `Quadrieren.__name__` in den beiden Fällen ein unterschiedliches Ergebnis.

Re: Code 'identisch'?

Verfasst: Mittwoch 5. September 2012, 09:44
von heiliga horsd
OK. Welche der beiden Methoden ist vorzuziehen, um einer bereits vorhandenen Funktion einfach einen 'besseren' Namen zu geben? Natürlich sollten Funktionen von Anfang an einen guten Namen haben, aber die Funktion kommt nicht von mir und ich will ihr einfach bloß für eine einmalige Verwendung einen Namen geben, der sofort zeigt, was sie macht. Beispielsweise(!) wird aus Natural_Mergesort() nur sortiere().

Re: Code 'identisch'?

Verfasst: Mittwoch 5. September 2012, 09:47
von BlackJack
@heiliga horsd: Ich würde die Zuweisung vorziehen. Weniger tippen und weniger Code der ausgeführt werden muss.

Edit: Wenn die Funktion von irgendwo importiert wird, gibt es ja auch noch ``as`` als Möglichkeit zum umbenennen. Also beispielsweise: ``from sort_lib import Natural_Mergesort as sortiere``.

Re: Code 'identisch'?

Verfasst: Mittwoch 5. September 2012, 09:55
von heiliga horsd
OK Danke für die Hilfe.

"Problem" gelöst!