| Autor |
Nachricht |
kevin98
Unregistrierter
|
kevin98 Unregistrierter
12:17:59 07.10.2009 Titel: |
python eleganter schreiben |
Zitieren |
Hi, wie kann ich das schöner schreiben? Ich möchte die Rückgabe von foo() als argument von bar() entpacken und gleichzeitig noch mehr Parameter übergeben.
| Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | >>> def foo():
... return [1, 2]
...
>>> def bar(x, y, z=23):
... return x + y + z
...
>>> bar(*foo()) # geht, schön
26
>>> bar(foo()[0], foo()[1], 7) # geht, hässlich
10
>>> bar(*foo(), 7) # geht nicht
File "<stdin>", line 1
bar(*foo(), 7)
^
SyntaxError: invalid syntax | | |
|
|
|
 |
dekcarki
Mitglied
Benutzerprofil
Anmeldungsdatum: 12.11.2008
Beiträge: 23
|
dekcarki Mitglied
13:28:00 07.10.2009 Titel: |
|
Zitieren |
| Code: | 1 2 3 4 5 6 7 8 9 10 | >>> def foo():
... return [1,2]
...
>>> def bar(x,z=23):
... return x[0]+x[1]+z
...
>>> bar(foo())
26
>>> bar(foo(),7)
10 | | |
Zuletzt bearbeitet von dekcarki am 13:28:34 07.10.2009, insgesamt 1-mal bearbeitet |
|
 |
Python-Frickler
Unregistrierter
|
Python-Frickler Unregistrierter
13:29:27 07.10.2009 Titel: |
|
Zitieren |
Du könntest bar(*(foo() + [7])) schreiben. |
|
|
|
 |
wirBrauchenPythonTags
Unregistrierter
|
wirBrauchenPythonTags Unregistrierter
20:39:34 07.10.2009 Titel: |
|
Zitieren |
geht mit Python 3.1.1, ob mit 2.* weiß ich nicht |
|
|
|
 |
|
Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben. Sie können auf Beiträge in diesem Forum antworten. Sie können Ihre Beiträge in diesem Forum nicht bearbeiten. Sie können Ihre Beiträge in diesem Forum nicht löschen. Sie können an Umfragen in diesem Forum nicht mitmachen.
|
|
|
|
|