Seite 1 von 1

Bindung von Ausrücken verändern

Verfasst: Montag 13. Juni 2011, 11:15
von Shaldy
Hallo zusammen,

mir ist folgendes aufgefallen:

>>> def out(string): print string
>>> [out("hi")] * 4
hi
[None, None, None, None]

Dass am Ende die Liste [None, None,...] ausgegeben wird ist mir egal, ich wollte nur wissen, ob es irgendwie möglich ist, die Priorität der Multiplikation vor den Funktionsaufruf zu setzen, also:

>>> [out("hi")] * 4
hi
hi
hi
hi
[None, None, None, None]

Re: Bindung von Ausrücken verändern

Verfasst: Montag 13. Juni 2011, 11:22
von BlackJack
@Shaldy: Das hat nichts mit Operatorprioritäten zu tun, sondern dass Deine Funktion `None` zurück gibt. Wenn nichts explizit zurückgegeben wird, dann kannst Du Dir ein implizites ``return None`` am Ende jeder Funktion vorstellen.

Edit: War natürlich blödsinn — du wolltest ja etwas anderes. Und nein das ist nicht möglich. Wenn Du die Funktion vier mal aufgerufen haben möchtest, dann musst Du sie auch vier mal aufrufen und nicht das Ergebnis eines Aufrufs ”multiplizieren”.

Re: Bindung von Ausrücken verändern

Verfasst: Montag 13. Juni 2011, 11:49
von Shaldy
Dann hat sich das erledigt. Danke :)