kostenloser Webspace werbefrei: lima-city


Einstieg: Python 2.x vs. 3.x

lima-cityForumProgrammiersprachenPython

  1. Autor dieses Themas

    bastobuntu

    Kostenloser Webspace von bastobuntu

    bastobuntu hat kostenlosen Webspace.

    Hi!

    ich plane für X-Plane ein kleines Python-Script zu schreiben und habe darin eine Motivation gefunden, jetzt doch noch in die Programmierwelt ab-/aufzusteigen ;P Momentan bringt mir ein sehr netter Inder auf udacity.com Python näher, was auch wirklich Spaß macht. (Endlich eine Einführung die nicht mit "Hello World" anfängt!). Ich habe es sogar tatsächlich fertig gebracht, meinen eigenen kleinen PDF-Merger zu schreiben, da PDFSam bei mir Fehler produziert hatte (*Stolz* :cookie:) In meinem (X-Plane)-Fall ist folgende Frage eigentlich hinfällig, da sowieso nur Python2 unterstützt wird, aber dennoch:

    Wie sinnig ist es jetzt noch mit Python2 anzufangen, wenn man dann doch wieder auf Python3 umsteigen muss?

    Wie gesagt - ich habe natürlich keine Wahl, aber ich habe gerade durch das, hier im Forum verlinkte Galileo Buch gestöbert und bin in Bezug auf den späteren Umstieg auf Python3 auf folgende Aussagen gestoßen:

    - Leiten Sie alle eigenen Exception-Typen von der Basisklasse Exception ab
    - Leiten Sie alle eigenen Klassen von der Basisklasse object ab

    Ich kann damit jetzt natürlich erstmal herzlich wenig anfangen. Kann mir vielleicht jemand ein Beispiel geben, was damit gemeint ist.

    Viele Dank und Grüße
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. zunächst:
    Python 2 und Python 3 Liegen sehr nah aneinader.
    Du solltest das nicht als entweder ob sehen, sondern einfach Python benutzten, womit 2 und 3 gemeint werden können.

    Die Unterscheide sind recht gering und beim einstieg merkt man das eigentlich nur an der Unterschiedlichen Verwendung von print Statements. Hinter den Kulissen hingegen ist einiges unterschiedlich was sich auf die performance auswirkt.

    Ich handhabe es persönlich so: Ich schreibe Python3, außer es spricht etwas dagegen (zum beispiel manche Plugins gibt es nur für 2.x) Bei kleineren Skripts bekommt man es sogar so hin, dass der code python 2 und 3 gleichzeitig ist.

    Python erlaubt verrückte sachen, so kannst du Beispielsweise Python 2.7.4 Benutzten und trotzdem Module aus Python 3.3.4 Importieren.

    Zu den HInweisen:

    normalerweise definierst du eine klasse mit "class MeineKlasse():"
    in python3 leitet das implizit von "object" ab. In Python2 nicht, deswegen sollst du da "class MeineKlasse(object):" schreiben, da so auch in python2 von object ableitest. In Python3 stört es nicht(es ist nur nicht Notwendig).
    Auf diese weise verhält sich der Code unter 2 und 3 noch ähnlicher.
  4. Autor dieses Themas

    bastobuntu

    Kostenloser Webspace von bastobuntu

    bastobuntu hat kostenlosen Webspace.

    Danke für deine ausführliche Antwort. Ich hab gerade noch mal die Basisklasse 'object' gegoogelt und bin dabei auch auf das Galileo-Buch gestoßen. Denke ich habe das jetzt gerafft ;)

    Beitrag zuletzt geändert: 7.9.2014 12:24:39 von bastobuntu
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!