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]
Bindung von Ausrücken verändern
@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”.
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”.