Ergebnis 1 bis 8 von 8
  1. #1
    Bugbear Wurm
    Registriert seit
    19.03.2008
    Beiträge
    261

    Standard Was ist überhaupt Python?

    Was ist Phyton denn überhaupt?
    Python [ Ausprache: paɪθn̩] ist eine Programmiersprache, die mehrere Programmierparadigmen ermöglicht. So wird die objektorientierte, aspektorientierte und funktionale Programmierung unterstützt.

    Die Sprache wurde Anfang der 1990er Jahre von Guido van Rossum am Centrum voor Wiskunde en Informatica (Zentrum für Mathematik und Informatik) in Amsterdam als Nachfolger für die Programmier-Lehrsprache ABC entwickelt, ursprünglich für das verteilte Betriebssystem Amoeba. Alle bisherigen Implementierungen der Sprache (siehe auch Jython oder Stackless Python) übersetzen den Text eines Python-Programms transparent in einen Zwischencode, der dann von einem Interpreter ausgeführt wird.

    Der Name referiert die britische Komikertruppe Monty Python, nicht etwa die gleichnamige Schlangengattung Pythons. In der Dokumentation finden sich daher auch viele Anspielungen auf Sketche aus dem Flying Circus.

    Was sind denn die Ziele von Phyton?
    Python wurde mit dem Ziel entworfen, möglichst einfach und übersichtlich zu sein. Dies wird durch zwei Dinge erreicht: Zum einen enthält die Sprache einen sehr mächtigen Funktionsumfang in nur wenigen Schlüsselwörtern, zum anderen wurde die Syntax reduziert und auf Übersichtlichkeit optimiert. Dies führt dazu, dass Python eine Sprache ist, in der man schnell, einfach und leicht programmieren kann. Sie ist daher besonders dort geeignet, wo Übersichtlichkeit und Lesbarkeit des Codes eine herausragende Rolle spielen – z. B. in der Teamarbeit, bei Beschäftigung mit dem Quellcode nach längeren Pausen oder bei Programmieranfängern.

    Durch die Möglichkeit, auch Programme anderer Sprachen als Modul einzubetten, werden viele Nischen in der Programmierung abgedeckt. Bei Bedarf lassen sich schnellere Routinen maschinennah programmieren, oder Python kann als Skriptsprache eines anderen Programms dienen (Beispiele: OpenOffice.org, Blender, Maya, PyMOL und Gimp).

    Python ist eine Sprache, die den Programmierer nicht zu einem einzigen bestimmten Programmierstil zwingt. Unterstützt werden sowohl objektorientierte und strukturierte als auch funktionale Programmierung. Die Datentypen werden dynamisch verwaltet; eine statische Typprüfung (wie z. B. bei C++) gibt es nicht. Die Freigabe nicht mehr benutzter Speicherbereiche erfolgt durch automatische Speicherbereinigung (garbage collection).

    Datentypen und Strukturen

    Python besitzt eine größere Anzahl von grundlegenden Datentypen. Neben der herkömmlichen Ganzzahl- und Gleitkommaarithmetik unterstützt es transparent auch beliebig große Ganzzahlen und komplexe Zahlen.

    Es verfügt über die übliche Ausstattung an Zeichenkettenoperationen, Zeichenketten sind in Python allerdings unveränderliche Objekte (wie auch in Java). Damit führen Operationen, die das Ändern einer Zeichenkette bewerkstelligen sollen – wie z. B. die Ersetzung von Zeichen – dazu, dass stattdessen eine neue Zeichenkette zurückgegeben wird.

    In Python ist der Datentyp an das Objekt (den Wert) gebunden und nicht an eine Variable, d. h. Datentypen werden dynamisch vergeben, so wie bei Smalltalk oder LISP – und nicht wie bei Java. Alle Werte werden per Referenz übergeben. In Python ist alles ein Objekt; Klassen, Typen, Methoden, Module etc.

    Trotz der dynamischen Typverwaltung enthält Python eine gewisse Typprüfung. Diese ist strenger als bei Perl, aber weniger strikt als etwa bei Objective CAML. Implizite Umwandlungen sind für numerische Typen definiert, so dass man beispielsweise eine komplexe Zahl mit einer langen Ganzzahl ohne explizite Typumwandlung multiplizieren kann. Anders als bei Perl gibt es allerdings keine implizite Umwandlung zwischen Zahlen und Zeichenketten; in Operationen für Zeichenketten kann also anstelle einer Zeichenkette nicht direkt eine Zahl verwendet werden.

    Syntax


    Eines der Entwurfsziele für Python war die gute Lesbarkeit des Quellcodes. Die Anweisungen benutzen häufig englische Schlüsselwörter. Darüber hinaus besitzt Python weniger syntaktische Konstruktionen als viele andere strukturierte Sprachen, wie C, Perl oder Pascal.

    -zwei Schleifenformen
    - for zur Iteration über die Elemente einer Sequenz
    - while zur Wiederholung einer Schleife solange ein logischer Ausdruck wahr ist.
    -Verzweigungen
    o if … elif … else für Verzweigungen

    Beim letzten Punkt bieten andere Programmiersprachen zusätzlich switch und/oder goto. Diese wurden zugunsten der Lesbarkeit in Python weggelassen und können durch if-Konstrukte abgebildet werden.

    Strukturierung durch Einrücken

    Python benutzt Einrückungen als Strukturierungselement. Hierin unterscheidet es sich von den meisten anderen Programmiersprachen, bei denen Blöcke durch Klammern oder Schlüsselworte markiert werden und im Gegenzug Leerräume keine Semantik tragen. Bei diesen Sprachen ist die Einrückung zur optischen Hervorhebung eines Blockes zwar erlaubt und in der Regel auch erwünscht, aber nicht vorgeschrieben. Programmierer, die bereits andere Programmiersprachen kennen, fühlen sich mitunter durch diese Vorschrift in ihrer Freiheit eingeschränkt. Für Programmierneulinge wird dieser Zwang zu lesbarem Stil aber als Vorteil gesehen.

    Hierzu ein kurzes Beispiel: Hier sind Funktionen in C und in Python, die das gleiche tun – die Fakultät einer Ganzzahl berechnen.

    Fakultätsfunktion in C (ohne Einrückung):

    Code:
    int fakultaet(int x) { if (x > 1) return x * fakultaet(x - 1); else return 1; }
    Fakultätsfunktion in C (mit Einrückung):

    Code:
    int fakultaet(int x)
    {
        if (x > 1)
            return x * fakultaet(x - 1);
        else
            return 1;
    }
    Jetzt die gleiche Funktion in Python:

    Code:
    def fakultaet(x):
        if x > 1:
            return x * fakultaet(x - 1)
        else:
            return 1
    Dadurch tritt das Dangling Else-Problem bei Python nicht auf. Es ist jedoch darauf zu achten, die Einrückungen im gesamten Programmtext gleich zu gestalten. Die gemischte Verwendung von Leerzeichen und Tabulatorzeichen kann zu Einrückungen führen, die nicht der Blockstruktur entsprechen. Der Python-Interpreter geht davon aus, dass ein Tabulator-Zeichen genau acht Leerzeichen entspricht, auch wenn der Editor einen Tabulator in der Breite von z. B. vier einfachen Leerzeichen darstellt.

    Quelle: Wikipedia
    Geändert von H4x0r007 (01.04.2010 um 01:35 Uhr)

  2. #2
    Gesperrt
    Registriert seit
    14.11.2007
    Beiträge
    233

    Standard

    aww da hab ich gerade den Thread titel gesehen und wollte anfangen zu labern^^ und der hat da schon eine ausführliche Dokumentation
    Haste es selbst geschrieben?
    Wenn nein dann :Quelle pls

  3. #3
    Bugbear Wurm
    Registriert seit
    19.03.2008
    Beiträge
    261

    Standard

    Hab die Quelle doch drin!
    ?

  4. #4
    Rock"N"Rolla Avatar von Nobody.
    Registriert seit
    30.01.2008
    Beiträge
    574

    Standard

    beschäftige mich seit gestern auch mit python

    hier mal ein süsses tut für blutige anfänger

    http://www.freenetpages.co.uk/hp/alan.gauld/german/

    kommt der sache ziemlich nahe weil du nach der quelle fragtest...

    greetZ






  5. #5
    ٠•●• ॐ •●•٠ Avatar von meckl
    Registriert seit
    08.06.2007
    Beiträge
    749
    ♫ *´¨)
    ¸.•´¸.•*´¨) ¸.•*¨♫ ♪
    (¸.•´ (¸.• ♫ ♪ Psychedelic



  6. #6
    <3 catz Avatar von NEAVORC
    Registriert seit
    04.09.2007
    Beiträge
    322

    Standard

    Das Galileo Computing Boch benutz ich auch das ist sehr zu empfehlen !
    (╯°□°)╯︵ ┻━┻
    Back2Pwn
    PM for new ICQ

  7. #7
    Trojaner Avatar von Impi
    Registriert seit
    22.07.2008
    Beiträge
    69

    Standard

    Das Galileo Computing Buch ist in keinsterweise zu empfehlen, da es mit Fehlern gespickt ist!
    "Byte of Python" ist ein super Ebook habe damit auch Python gelernt

  8. #8
    Maj. Killz Avatar von Jesper
    Registriert seit
    08.06.2007
    Beiträge
    650

    Standard

    Augen auf beim Eierkauf!

    Danke für die außführliche Erklärung ^^
    Ein Fortschritt ist nur möglich, wenn man intelligent gegen die Regeln verstößt.

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •