Ladet es mal und gebt
Code: Alles auswählen
print "Hello World!"
Edit (Leonidas): Titel angepasst.
Code: Alles auswählen
print "Hello World!"
Joa, schon....Y0Gi hat geschrieben:Du meinst die (irgendwie in der Praxis abstoßende) Tatsache, dass `print` von einem Statement zu einer Funktion "degradiert" wurde?
Code: Alles auswählen
bj@s8n:~$ python3.0
Python 3.0a1 (py3k, Aug 31 2007, 21:20:42)
[GCC 4.1.2 (Ubuntu 4.1.2-0ubuntu4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> täst = 'Hallo Welt!'
>>> print(täst)
Hallo Welt!
Schade, ich hatte mich schon so an Python gewöhnt...Y0Gi hat geschrieben:Du meinst die (irgendwie in der Praxis abstoßende) Tatsache, dass `print` von einem Statement zu einer Funktion "degradiert" wurde?
Ich habe mich schon damals darüber aufgeregt...lumax hat geschrieben:Nebenbei sind die ganzen Aenderungen (auch print) schon ewig bekannt
(http://www.python-forum.de/post-20065.html#20065)print hat jeder schon irgendeinmal gehört und jeder versucht sich zuerst mit print "Hallo". Warum soll man solche Erfolgserlebnisse erschweren? Es gibt Befehle, die so einfach wie möglich gehalten werden müssen. Ich finde sogar, print soll es egal sein, ob es mit oder ohne Klammern aufgerufen wird.
Klar, das ist etwas uebertrieben, die meisten werden schon weiterhin ASCII-Identifier benutzen. Aber ich bin sicher, dass ich frueher oder spaeter ueber solchen Code stolpern werde.BlackJack hat geschrieben:@lumax: Das halte ich für Panikmache. Jemand der Wert darauf legt, das sein Quelltext "international bearbeitbar" bleibt, wird bei der ASCII Untermenge bleiben.
Das stimmt, trotzdem ist es schlicht inkonsequent, ein eigenes Schlüsselwort für print zu führen, wenn es doch genauso einfach und ohne wirklichen Mehraufwand seitens des Programmierers als Built-In Function implementiert werden kann.gerold hat geschrieben:print hat jeder schon irgendeinmal gehört und jeder versucht sich zuerst mit print "Hallo". Warum soll man solche Erfolgserlebnisse erschweren? Es gibt Befehle, die so einfach wie möglich gehalten werden müssen. Ich finde sogar, print soll es egal sein, ob es mit oder ohne Klammern aufgerufen wird.
Er meint wohl input. Und mit input meint er eval(input()). Jeder macht mal einen Fehlerlumax hat geschrieben:raw_input? Welches raw_input?penguin-p hat geschrieben:Aber input und raw_input sind schon seit je her Built-Ins.
Code: Alles auswählen
>>> a = True
>>> True = False
>>> False = a
>>> True
False
>>> False
True
Das ist doch erst dann richtig lustig, wenn du die builtins monkeypatchst und damit True und False auch in allen anderen Modulen verkehrt rum funktionierenpenguin-p hat geschrieben:Hach mein geschätztes raw_input *schnief*
Was ich aber noch viel tragischer finde ist, dass True und False in Python3000 Schlüsselwörter werden. Das war immer so ein lustiger Zeitvertreib:Code: Alles auswählen
>>> a = True >>> True = False >>> False = a >>> True False >>> False True
Code: Alles auswählen
sr4l@LARS:~$ python3.0
Python 3.0a1 (py3k, Sep 1 2007, 03:28:18)
[GCC 3.4.6 (Ubuntu 3.4.6-5ubuntu1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> print("Test")
Test
>>> def print(value):
... handle = open("output.txt","a")
... handle.write(value)
... handle.close()
...
>>> print("Test")
>>>
Wie umständlich !Sr4l hat geschrieben:Ich kann also das `standard` print zum Beispiel einfach überschreiben und dann alles was sonst geprintet wurden wäre in eine Datei um leiten oder ähnliches.
Die viele gute Sachen bei Python bleiben ja immer noch.
Code: Alles auswählen
fl = open("foo.txt", "w")
print("foobaaaar!!!", file=fl)
fl.close
Genau. Entweder sys.stdout umeiten oder (Achtung, dämliche Syntax) ``print >>sys.stdout "Irgendwas`` wobei man ``sys.stdout`` gegen ein file-like-Objekt tauscht.veers hat geschrieben:Du kannst print auch jetzt umleiten in dem du stdout umleitest.