return

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
computatrum physicus
User
Beiträge: 8
Registriert: Samstag 29. Juli 2017, 16:37

Wenn ich mit return einen String ausgebe sieht der meist sehr komisch aus wie kann ich das verhindern wenn ich nicht None zurück bekommen möchte???
Liffi
User
Beiträge: 153
Registriert: Montag 1. Januar 2007, 17:23

Kannst du mal mit einem einfachen Codebeispiel zeigen was zu meinst? Vermutlich können wir dir dann besser helfen.
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

@computatrum physicus: return gibt nichts aus. Wenn Du meinst, dass wenn Du in der interaktiven Shell eine Funktion aufrufst, und die hat einen Rückgabewert, dass dann die Repräsentation des Rückgabewertes auf dem Bildschirm ausgegeben wird, dann ist das genau das Verhalten, das man sich wünscht, denn zum wirklichen Ausgaben gibt es "print".
computatrum physicus
User
Beiträge: 8
Registriert: Samstag 29. Juli 2017, 16:37

Code: Alles auswählen

def problem(x):
    return x,"Hallo",x-1,"das ist ein Satz.\n"
print(problem(5))
# Output:(5, 'Hallo', 4, 'das ist ein Satz.\n')
Zuletzt geändert von computatrum physicus am Mittwoch 2. August 2017, 12:34, insgesamt 1-mal geändert.
computatrum physicus
User
Beiträge: 8
Registriert: Samstag 29. Juli 2017, 16:37

Sirius3 hat geschrieben:@computatrum physicus: return gibt nichts aus. Wenn Du meinst, dass wenn Du in der interaktiven Shell eine Funktion aufrufst, und die hat einen Rückgabewert, dass dann die Repräsentation des Rückgabewertes auf dem Bildschirm ausgegeben wird, dann ist das genau das Verhalten, das man sich wünscht, denn zum wirklichen Ausgaben gibt es "print".
Ja aber wenn ich eine Funktion machen will die NUR einen Text ausgeben soll und dann print() benutze bekomme ich den Wert None, da ich return nicht benutzt habe....
Üpsilon
User
Beiträge: 222
Registriert: Samstag 15. September 2012, 19:23

Zu dem Codebeispiel: Mit den Kommata erstellst du einen Tupel (also so etwas ähnliches wie eine Liste), den du dann zurückgibst und ausgibst. Das ist etwas Anderes, als mehrere Dinge mit Kommata getrennt an eine Funktion (wie zB print) zu übergeben. Wenn du Strings aneinander hängen willst, dann benutz + oder Stringformatierung.
PS: Die angebotene Summe ist beachtlich.
Liffi
User
Beiträge: 153
Registriert: Montag 1. Januar 2007, 17:23

Du erzeugst ein Tupel, gibst das zurück und gibst es aus. Soweit so klar. Mir ist noch nicht klar, was das Problem genau ist.
Liffi
User
Beiträge: 153
Registriert: Montag 1. Januar 2007, 17:23

Liffi hat geschrieben:Du erzeugst ein Tupel, gibst das zurück und gibst es aus. Soweit so klar. Mir ist noch nicht klar, was das Problem genau ist.
Oder ist folgendes dein Problem?

Code: Alles auswählen

def problem(x):
    return print(x)

print(problem(x))
Zizibee
User
Beiträge: 229
Registriert: Donnerstag 12. April 2007, 08:36

@computatrum physicus: Was für eine Ausgabe erwartest du denn bzw. hättest du gerne?
Antworten