Thomas Orgelmacher schrieb am 01.09.2017 um 21:06:
Am 01.09.2017 um 09:12 schrieb Hermann Riemann:
aber ich vermute, dass bei Python 4? %s vielleicht nicht mehr unterstützt wird.
Und wo kommt das her? Laut 3.7.0a0 ist der Operator noch nicht einmal "deprecated".
Python 4.0 wird wohl erst nach Python 3.9 erscheinen, was auch noch runde vier Jahre hin ist, also so in 5-6 Jahren. Und Guido hat mehrfach geäußert, dass Python 4 im Gegensatz zu Python 3 keine großen Kompatibilitätsbrüche mit sich bringen soll. Für letztere gibt es ohnehin die normalen Auslaufzeiten, also eine "PendingDeprecationWarning" mit einem neuen Release, z.B. 3.7, dann eine "DeprecationWarning" mit dem nächsten, z.B. 3.8, dann die Entfernung mit dem darauf folgenden. "%"-Formatierung könnte also frühestens mit 3.9 entfernt werden. Ist aber unwahrscheinlich, weil der Bruch einfach zu groß wäre. Die Konvertierung in ".format()" oder f-Strings lässt sich nämlich auch nicht gut automatisieren, weil ja nicht immer über Literale formatiert wird, und dahinter auch nicht immer erkennbare Tupel stehen. Also wage ich mal zu orakeln, dass die "%"-Formatierung uns noch ein ganzes Weilchen länger als die nächsten 5 Jahre erhalten bleiben wird. Trotz der hübschen f-Strings. Aber ich möchte auch orakeln, dass es zumindest Tools geben wird, die Literale zur %-Formatierung und ".format()" in f-Strings konvertieren können werden. Irgendwann schreibt das mal wer, vermutlich als 2to3-Fixer. Könnte einige Leute glücklich machen. Stefan