Und was ist das?BlackJack hat geschrieben:Die `print()`-Funktion kennt Schlüsselwortargumente. Wie gut das Du Dich so gut mit den Grundlagen von Python auskennst.
Code: Alles auswählen
name = 3
print(1,2,3,name=4)
Und was ist das?BlackJack hat geschrieben:Die `print()`-Funktion kennt Schlüsselwortargumente. Wie gut das Du Dich so gut mit den Grundlagen von Python auskennst.
Code: Alles auswählen
name = 3
print(1,2,3,name=4)
Da bist Du im Irrtum, ich kenn das sehr wohl. Aber möchte nur darauf hinweisen, dass die Python Semantik verwirrend sein kann, für jemand der einsteigt und mit anderen Sprachen vertraut istBlackJack hat geschrieben:@Alfons Mittelmeyer: Das ist wieder typischer Unsinn von Dir. `print()` kennt Schlüsselwortargumente. Und wenn der Programmierer die kennt, kann er sie auch verwenden und Werte dafür übergeben. Du kennst sie halt nicht, wie so vieles was mit Python zu tun hat. Kann man aber in der Dokumentation nachlesen.
Code: Alles auswählen
string = "This-is-SPARTAAA!"
print '{0[0]} {0[1]}'.format(string.rsplit('-', 1))
Endlich eine Lösung gefunden, ohne magisches Sternchen und ohne Import aus der Zukunft, wo doch nicht jeder eine Zeitmaschine hat.Sirius3 hat geschrieben:Nachdem Alfons Mittelmeyer wieder einen Thread kaputt geschrieben hat, zurück zum Thema. rsplit liefert eine Liste und format kann auch die Elemente einer Liste ausgeben, ganz ohne Magie:Code: Alles auswählen
string = "This-is-SPARTAAA!" print '{0[0]} {0[1]}'.format(string.rsplit('-', 1))
Code: Alles auswählen
print '{anrede} {name}'.format(name='hans',anrede='herr')
Code: Alles auswählen
>>> print '%(language)s has %(#)03d quote types.' % {'language': "Python", "#": 2}
Warumbwbg hat geschrieben:Das Verwenden der %-Formatierung für Strings sollte durch die format-Methode ersetzt werden.
Zur Debatte steht nicht, dass format alles kann was % kann und noch vieles mehr. Und im PEP 3101 werden die Anforderungen für format definiert. Dabei geht es um Advanced String Formatting. Es steht dort nicht drin, dass man für simple String Formatting % nicht mehr nehmen soll. Ich bin der Auffassung, daß man % dort nehmen soll, wo es vorteilhafter ist, weil dort es einen kompakteren Ausdruck, übersichtlicheren, leichter zu schreibenden und verständlicheren Ausdruck ergibt. Außerdem ist es auch vorteilhaft, dass eventuell eine Exception geworfen wird, wenn man sich bei den Parametern mit der Reihenfolge Strings und Zahlen vertut, anstatt dass alles ohne Murren geschluckt wird.BlackJack hat geschrieben:@Alfons Mittelmeyer: Schau Dir doch einfach mal an was man mit `format()` machen kann und vergleiche das mit ``%``-Formatierung. In der Python-Dokumentation. Und im PEP 3101 zu der Methode/Funktion, wo das alles Vorgeschlagen wurde.
Ach so es geht um Zen und um die Methoden der Meister. Jeder soll tun, wie er es versteht, die Meister nach Art der Meister, die Lehrlinge nach Art der Lehrlinge, bis sie auch die Methoden der Meister verstehen.BlackJack hat geschrieben:Zen of Python („There should be one-- and preferably only one --obvious way to do it.“
Nee, da hast du mal wieder war nicht verstanden oder willst es mal wieder falsch verstehen. Das "Zen of Python" ist genau so wie die PEP8 für _jeden_ Python-Programmierer, vom absoluten Newbie bis zum BlackJack ...äh... Blackbelt ..äh.. Profi. Je eher man sich danach richtet, desto besser.Ach so es geht um Zen und um die Methoden der Meister.
Ja, zum Beispiel! Ein tuppel draus machen - da bin ich nicht drauf gekommenAlfons Mittelmeyer hat geschrieben:Judge hat geschrieben:Hi Alfons,zum Beispiel würde ich gerne zusätzliche Variablen vermeiden.
Es wäre total cool, wenn es dafür einen Kniff gäbe.War das der Kniff?Code: Alles auswählen
print '%s %s %s' % tuple("This-is-SPARTAAA!".split('-'))