Hallo zusammen,
ich bin gerade dabei Python zu lernen.
Nun hätte ich einige Fragen zu Abkürzungen usw:
-habe vor mir ein classObj(blablup, **dict(argList))
Nur weiß ich nicht, was die beiden Sterne vor dem dict bewirken. Bzw was der Stern allgemein bewirkt.
Das Ganze wird dem Konstruktor übergeben, der in diesem bis auf das blablup die weiteren Argumente mit "None" deklariert.
-Zum anderen lese ich des öfteren:
msg = "blabla: %s" % irgendeinObjekt/Wert
Wird hier einfach das %s durch das Objekt/den Wert ersetzt?
-Funktion mit 2 return-Werten:
Ich habe zB soetwas: a, b = FunktionMitZweiReturnWerten()
Wird dann der erste Returnwert in a und der zweite in b gespeichert?
Leider konnte ich im Forum/Internet nichts dazu finden (zwecks Eingabeproblemen)
Grüße
Matthias
--evtl to be continued...--
Anfängerfragen: Abkürzungen usw.
http://openbook.galileocomputing.de/pyt ... .htm#t2t34m0ps1234 hat geschrieben:-habe vor mir ein classObj(blablup, **dict(argList))
Nur weiß ich nicht, was die beiden Sterne vor dem dict bewirken. Bzw was der Stern allgemein bewirkt.
Im Prinzip ja.m0ps1234 hat geschrieben: -Zum anderen lese ich des öfteren:
msg = "blabla: %s" % irgendeinObjekt/Wert
Wird hier einfach das %s durch das Objekt/den Wert ersetzt?
``print "%s" % obj`` ist das gleiche wie ``print str(obj)`` bzw. ``print obj``
Ganz genau genommen wird das %s mit demReturn-Wert von obj.__str__() ersetzt
Es gibt keine Funktion mit zwei Return-Werten. Statt dessen wird ein tuple(a, b) zurückgegeben. Dieses tuple wird dann auf diese Weise auf zwei Variablen getrennt.m0ps1234 hat geschrieben: -Funktion mit 2 return-Werten:
Ich habe zB soetwas: a, b = FunktionMitZweiReturnWerten()
Wird dann der erste Returnwert in a und der zweite in b gespeichert?
Aber im Prinzip meinst du schon das richtige
- 1.Klassennamen sollten mit einem Großbuchstaben beginnen, siehe PEP 8.
2.* vor einer Sequenz nutzt man um jedes Element dieser Sequenz einzeln zu übergeben, bei ** übergibt man die Wertepaare als Keywords.
3.Strings in Python überladen den Modulo Operator so dass man damit festgelegte Platzhalter überschreiben kann. Genaueres dazu findet sich in der Doku.
4.Das hat nichts mit Funktionen zu tun sondern ist einfach unpacking und geht mit jeder Sequenz.Code: Alles auswählen
>>> a, b = ('foo', 'bar') >>> a 'foo' >>> b 'bar'