Seite 1 von 1

return

Verfasst: Mittwoch 2. August 2017, 12:21
von computatrum physicus
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???

Re: return

Verfasst: Mittwoch 2. August 2017, 12:26
von Liffi
Kannst du mal mit einem einfachen Codebeispiel zeigen was zu meinst? Vermutlich können wir dir dann besser helfen.

Re: return

Verfasst: Mittwoch 2. August 2017, 12:28
von Sirius3
@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".

Re: return

Verfasst: Mittwoch 2. August 2017, 12:31
von computatrum physicus

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')

Re: return

Verfasst: Mittwoch 2. August 2017, 12:33
von computatrum physicus
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....

Re: return

Verfasst: Mittwoch 2. August 2017, 12:38
von Üpsilon
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.

Re: return

Verfasst: Mittwoch 2. August 2017, 12:39
von Liffi
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.

Re: return

Verfasst: Mittwoch 2. August 2017, 12:41
von Liffi
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))

Re: return

Verfasst: Mittwoch 2. August 2017, 14:34
von Zizibee
@computatrum physicus: Was für eine Ausgabe erwartest du denn bzw. hättest du gerne?