Bindung von Ausrücken verändern

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Shaldy
User
Beiträge: 123
Registriert: Sonntag 2. März 2008, 22:49

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]
Dies ist keine Signatur!
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”.
Shaldy
User
Beiträge: 123
Registriert: Sonntag 2. März 2008, 22:49

Dann hat sich das erledigt. Danke :)
Dies ist keine Signatur!
Antworten