Benutzer-Werkzeuge

Webseiten-Werkzeuge


python

Dies ist eine alte Version des Dokuments!


Besonderheiten

  • Python markiert Anweisungsblöcke durch einrücken
    • Es gibt keine { } oder Spezialwörter die einen Anweisungsblock (zum Beispiel nach einem if-Statement) eingrenzen
  • Python betrachtet Zeilenumbrüche als Ende einer Anweisung
    • Es kennt kein ; um eine Anweisung als zu Ende zu markieren

Technisches

Variablen, Instanzen, Referenzen

  • Referenzen → Zeiger die auf eine Instanz verweisen
    • auch bekannt als Bezeichner/Variablenname
  • Instanz → ein konkretes Objekt von einem Typ
    • auch bekannt als Variable, Wert usw.
    • also eine konkrete Stelle im Speicher/ein konkretes Objekt
  • Variablennamen sind in Python Referenzen auf eine Instanz
    • verweisen also auf einen Speicherbereich
  • =-Operator weißt einem Bezeichner (Variablenname) eine Referenz zu
  • verweisen zwei Referenzen auf die gleiche Instanz und wird eine geändert - wird eine zweite Instanz angelegt die den neuen Wert enthält und die geänderte Referenz verweist auf die neue Instanz
    • so lange beide Referenzen unverändert sind → gleiche Instanz
    • wenn Instanz über eine Referenz geändert wird → wird eine Kopie der Instanz angelegt
a=5
b=a

a und verweisen auf die gleiche Instanz - print würde in beiden Fällen 5 ausgeben.

a=5
b=a

a=a+1

a und b verweisen zuerst auf die gleiche Instanz (print würde bei beiden 5 ausgeben).
Nach dem a um 1 erhöht wurde verweisen a und b auf unterschiedliche Instanzen, a würde 5 ausgeben, b 6.

Hilfsprogramme

Name Beschreibung
pydocDokumentation zu python

Syntax: pydoc Funktionsname
pipPaketmanager - erlaubt es Pakete zu installieren und zu verwalten

Greift Standardmäßig auf pypi.python.org/ (Verzeichnis von Paketen) zu

Hinweis: Es empfiehlt sich python-dev (Entwicklungsdateien für python) zu installieren - einige Pakete müssen kompiliert werden und benötigen diese

Sprachkonstrukte

Methoden

Syntax:

def Funktionsname (Parameter1,Parameter2):
    Funktionscode

Funktionen

Name Beschreibung
printAusgabe von Text auf dem Bildschirm

Syntax: print Text
inputLiest Text auf der Kommandozeile ein - die Eingabe wird durch das Drücken von <Enter> beendet

Syntax: Variable=input (Ausgabetext)

  • Variable → Bezeichner der auf die eingelesenen Daten verweist
  • Ausgabetext → Optionaler Text der direkt vor der Eingabe erscheint

Achtung: input interpretiert die Eingaben bevor sie in die Variable übergeben werden - aus der Eingabe 1+1 würde 2 werden; lalal → würde als Zugriff auf die Variable „lala“ interpretiert werden (was zum Programmabbruch führt wenn diese nicht existiert). Es empfiehlt sich in der Regel raw_input statt input zu benutzen!

raw_inputLiest Text auf der Kommandozeile ein - die Eingabe wird durch das Drücken von <Enter> beendet
\\Im Gegensatz zu input wird die Eingabe nicht interpretiert, sondern wie eingegeben abgelegt.

Syntax: Variable=raw_input (Ausgabetext)

  • Variable → Bezeichner der auf die eingelesenen Daten verweist
  • Ausgabetext → Optionaler Text der direkt vor der Eingabe erscheint
openÖffnet eine Datei zum lesen oder schreiben

Syntax: Dateiobjekt=open(„Dateiname“,„Modus“)

  • Dateiobjekt → Variable die eine Referenz auf die Datei aufnimmt
  • Dateiname → gesamter Pfad zur gewünschten Datei
  • Modus → Für was die Datei geöffnet erden soll.
    r → Lesen, w → Schreiben, a → Daten an das Ende anfügen, r+ → Lesen und Schreiben, w+ → Schreiben und lesen - vorher die Datei leeren, a+ Anfügen und Datei zum lesen öffnen.
    Die Optionen gibt es auch mit vorangestelltem b - in dem Fall werden die Dateien binär geöffnet

Compiler-Medlungen

Meldung Mögliche Lösung
NameError: global name x is not defined Wahrscheinlich Attribut in Klasse deklariert (Variable in Klasse) und ZUgriff erfolgt innerhalb einer Methode/Funktion der Klasse ohne voran gestelltes self (self.Name)

Dokumentation/Turotials

Name Typ Beschreibung Quelle
Python Das umfassende HandbuchBuch/KursOpenbook von Galileo http://openbook.galileocomputing.de/python/
python.1386007823.txt.gz · Zuletzt geändert: 2014/09/07 17:55 (Externe Bearbeitung)