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

Kommunikation im Internet ist in Gefahr!

Liebe Besucher,
leider müssen wir euch kurz unterbrechen:

Das EU-Parlament stimmt nächste Woche über eine Urheberrechtsreform ab,
die alle kleinen Kommunikationsplattformen in ihrer Existenz bedroht.

Offener Brief der Forenbetreiber

Wir bitten euch daher darum, dass ihr

Vielen Dank für eure Unterstützung!

Euer Draketo

Wir sind Teil des #321EUOfflineDay