sape hat geschrieben:birkenfeld hat geschrieben:
Wieso sollte `print >>file, x` schlecht sein? Es hat halt nix mit dem Operator `>>` zu tun.
Naja das was BlackJack ja schon gesagt hat. Finde ich irgendwie logisch die Begründung von ihm.
Also dass es ein Speziallfall ist, den man sich merken muss?
Ehrlich gesagt, man kann gar nicht darauf kommen, dass >> in "print >>a" ein Bitshifting-Operator ist, denn letzterer ist ein binärer Operator, während das hier höchstens ein unärer sein kann. (Ist er aber nicht, es ist *kein* Operator, sondern ein Syntaxelement. Und als solches auch nicht schwerer zu merken als z.B. die Bedeutung von ":" in Slices.)
birkenfeld hat geschrieben:
Gerade das ist eines der Gebiete, wo das automatische Konvertierungstool mit 100% Erfolg eingesetzt werden kann.
Welches Konvertierungstool?
Das, das Python 2.x-Code in Python 3.0-Code konvertieren wird, wo das problemlos möglich ist.
Aber hast du eine Begründung die dafür sprechen würde dass weiterhin zu nutzen? Das würde mich ja dann doch interessieren.
`print >>a, b, c, d` sieht schöner aus als `a.write("%s %s %s\n" % (b, c, d))`.
Und gerade wenn man einem Programm, was ursprünglich nur print verwendet, die Ausgabe in beliebige Streams beibringen will, sehr viel schöner umzuschreiben.