Warum Python3?

Im Institut verwenden wir sowohl Python 2 als auch Python 3. Bei Recherche zu den aktuellen Unterschieden (Python 3.5 im Vergleich mit Python 2.7) habe ich zwei schöne Artikel von Brett Cannon gefunden, dem aktuellen Verwalter von Python, und sie für meine Arbeitsgruppe zusammengefasst.

Die Artikel:

  1. Warum Python 3: Why Python 3 exists
  2. Warum 3 nutzen: How to pitch Python 3 to Management

Die für uns relevanten1 Punkte sind:

  1. Warum Python 3 nötig war:

    • Python2: string = byte-array.
      • Py3 vermeidet Encoding-Bugs bei Unicode: Alle Strings sind Unicode.
    • Python2: Quellen in ASCII. β im Kommentar brauchte # encoding: utf-8
      • Py3 nutzt utf-8 in Quelldateien als Standard.
    • Letzte Chance: Jedes Jahr wurden die Kosten für die Änderung größer.
  2. Warum 3 in nutzen (für uns relevantes, z.B. für neue Projekte):

    • int/long -> int
    • Unicode im Code: σ = sqrt(var) # nur Buchstaben, aber z.B. nicht Σ
    • H.dot(β) -> H @ β
    • chained exceptions: Traceback ... during handling ... Traceback — erleichtert Debugging
    • print() erleichtert strukturierte Ausgabe2

Die Auswirkung dieser Aspekte ist nicht zu unterschätzen: Leichteres Debuggen und Vermeidung von Überraschungen und sperrigen Workarounds.


  1. Ich habe sie zusammengefasst, da ich nicht erwarten kann, dass Wissenschaftler (oder andere Leute, die Python nur verwenden) die ganzen Artikel lesen, nur um zu überlegen, was sie machen, wenn sie mal wieder ein neues Projekt angehen wollen. 

  2. Beispiel für print():
    nums = [1, 2, 3]
    with open("data.csv", "a") as f:
        print(*nums, sep=";", file=f) 

Inhalt abgleichen
Willkommen im Weltenwald!
((λ()'Dr.ArneBab))



Beliebte Inhalte

sn.1w6.org news