Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
python [2014/11/24 09:24] root [Methoden] |
python [2018/04/25 13:50] (aktuell) root [Sequentielle Operatoren] |
||
---|---|---|---|
Zeile 137: | Zeile 137: | ||
* s -> das serielle Objekt aus dem das größte Objekt/ | * s -> das serielle Objekt aus dem das größte Objekt/ | ||
</ | </ | ||
- | |s[x]|Ermöglicht den Zugriff auf das xte Element innerhalb eines seriellen Objektes \\ \\ \\ Syntax: s[x] \\ \\ < | + | |sum(s)|Summiert die Werte im seriellen Objekt (also deren Werte, nicht deren Anzahl| |
+ | |s[x]|Auch bekannt als Sub-Operator. \\ Ermöglicht den Zugriff auf das xte Element innerhalb eines seriellen Objektes \\ \\ \\ Syntax: s[x] \\ \\ < | ||
* s -> das serielle Objekt | * s -> das serielle Objekt | ||
- | * x -> das Element auf welches man zugreifen möchte/ | + | * x -> das Element auf welches man zugreifen möchte/ |
+ | Man kann innerhalb des Suboperators auch Operationen ausführen: | ||
+ | < | ||
+ | s[x-1] | ||
+ | </ | ||
+ | In dem Beispiel würde der Wert aus x - 1 berechnet und das Ergebnis als Index verwendet. | ||
</ | </ | ||
|s[x: | |s[x: | ||
Zeile 192: | Zeile 198: | ||
* in Python Standard-Mapping: | * in Python Standard-Mapping: | ||
* Speichert Key-Value-Pairs aka Wert-Paare | * Speichert Key-Value-Pairs aka Wert-Paare | ||
- | ===== Sprachkonstrukte | + | ====== Sprachkonstrukte |
- | ==== Funktionen ==== | + | ===== Funktionen |
* Entsprechen weitgehenst Methoden (siehe unten) | * Entsprechen weitgehenst Methoden (siehe unten) | ||
* sind eigenständige Objekte | * sind eigenständige Objekte | ||
- | ==== Methoden | + | ===== Methoden |
Syntax: | Syntax: | ||
Zeile 204: | Zeile 210: | ||
def Funktionsname (Parameter1, | def Funktionsname (Parameter1, | ||
Funktionscode | Funktionscode | ||
+ | return // | ||
</ | </ | ||
Zeile 214: | Zeile 221: | ||
* Funktionsname: | * Funktionsname: | ||
* Parameterx: Parameter die an die Funktion übergeben werden; Als bennannter Parameter in beliebiger Reihenfolge -> Parametername=Wert, | * Parameterx: Parameter die an die Funktion übergeben werden; Als bennannter Parameter in beliebiger Reihenfolge -> Parametername=Wert, | ||
+ | * **Achtung**: | ||
+ | * return: Optional, Gibt beim herausspringen den Wert/ | ||
- | === Optionale Parameter | + | |
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==== Optionale Parameter | ||
* In der Literatur/ | * In der Literatur/ | ||
Zeile 230: | Zeile 244: | ||
- | === Benannte Parameter | + | ==== Benannte Parameter |
* Ermöglicht das angeben von Parametern in beliebiger Reihenfolge | * Ermöglicht das angeben von Parametern in beliebiger Reihenfolge | ||
Zeile 244: | Zeile 258: | ||
* Parameter 1 und 2 sind Referenzen/ | * Parameter 1 und 2 sind Referenzen/ | ||
* über den Parameternamen können die Paraemter direkt angesprochen werden | * über den Parameternamen können die Paraemter direkt angesprochen werden | ||
- | ==== Klassen | + | |
+ | |||
+ | |||
+ | ==== Beliebige Anzahl Parameter | ||
+ | |||
+ | * Bei Defeinition der Methode wird der letzte Parameter *// | ||
+ | * dieser Parameter kann dann beliebig viele Argumente aufnehmen | ||
+ | * das geht nur beim letzten Parameter in der Parameterliste | ||
+ | * die einzelnen Werte in dem Parameter werden in einem Tuppel gespeichert | ||
+ | * der Abruf der einzlnen Werte kann zum Beispiel durch eine for-each-Schleife (for x in y) erfolgen | ||
+ | |||
+ | Syntax: | ||
+ | |||
+ | < | ||
+ | def // | ||
+ | | ||
+ | |||
+ | // | ||
+ | </ | ||
+ | |||
+ | * //Parameter 3// hat ein vorangestellten * und nimmt alle Werte auf die überzählig sind (mehr sind als es Parameter gibt) | ||
+ | * in diesem Beispiel sind das die Werte 1-5 | ||
+ | |||
+ | Beispiel: | ||
+ | |||
+ | ===== Klassen | ||
* Klassen sollten (wenn sie nicht von einer anderen Klasse erben) von Object erben | * Klassen sollten (wenn sie nicht von einer anderen Klasse erben) von Object erben | ||
Zeile 250: | Zeile 289: | ||
- | === Klassenvariablen | + | ==== Klassenvariablen |
* Variablen die die global über alle Objekte der Klasse existieren | * Variablen die die global über alle Objekte der Klasse existieren | ||
Zeile 266: | Zeile 305: | ||
- | === Objektvariablen | + | ==== Objektvariablen |
* Variablen die innerhalb des Objektes global verfügbar sind | * Variablen die innerhalb des Objektes global verfügbar sind | ||
Zeile 283: | Zeile 322: | ||
- | === Überladen | + | ==== Überladen |
* Überladen von Methoden ist in Python nicht vorgesehen | * Überladen von Methoden ist in Python nicht vorgesehen | ||
Zeile 290: | Zeile 329: | ||
- | === Überschreiben | + | ==== Überschreiben |
* Überschreiben von Methoden geht | * Überschreiben von Methoden geht | ||
Zeile 296: | Zeile 335: | ||
- | === Private Variablen/ | + | ==== Private Variablen/ |
* Gibt es in Python nicht | * Gibt es in Python nicht | ||
Zeile 304: | Zeile 343: | ||
Syntax: def _Methodenname(self) | Syntax: def _Methodenname(self) | ||
- | === Statische Variablen/ | + | ==== Statische Variablen/ |
**This section is not tested and based on assumptions: | **This section is not tested and based on assumptions: | ||
- | * Werden per __Methodenname | + | * Werden per %%_%%_Methodenname |
* sind vorhanden ohne das eine Instanz der Klasse geschaffen wurde | * sind vorhanden ohne das eine Instanz der Klasse geschaffen wurde | ||
- | === Spezialmethoden | + | ==== Spezialmethoden |
* Es gibt einige Methoden die nur durch den Compiler aufgerufen werden sollen | * Es gibt einige Methoden die nur durch den Compiler aufgerufen werden sollen | ||
- | * Diese werden mit __Methode__ | + | * Diese werden mit %%_%%_Methode%%_%%_ |
- | Syntax: | + | Syntax: |
===== Funktionen ===== | ===== Funktionen ===== | ||
Zeile 353: | Zeile 392: | ||
* //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 | * //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 | ||
</ | </ | ||
+ | |type (Objekt)|Gibt den Typ (die Klasse) eines Objektes zurück| | ||
+ | |dir(Objekt)|Gibt alle Methoden eines Objektes zurück| | ||
====== HowTos ====== | ====== HowTos ====== | ||
Zeile 423: | Zeile 464: | ||
|tell|Gibt die derzeitige Position in der Datei an (Integer)| | |tell|Gibt die derzeitige Position in der Datei an (Integer)| | ||
|seek|Spingt an eine bestimmte Psoition der Datei| | |seek|Spingt an eine bestimmte Psoition der Datei| | ||
+ | |||
+ | |||
+ | ===== Benutzen von anderen Zeichensätzen ===== | ||
+ | |||
+ | Standardmäßig akzeptiert Python nur Zeichen des ASCII-Zeichensatzes im Code (alle anderen Zeichen müssen per Escape-Sequenz angegeben werden). \\ \\ | ||
+ | < | ||
+ | # | ||
+ | </ | ||
+ | |||
+ | Mit dem Kommentar # | ||
+ | |||
+ | Hinweis: Der verwendete Editor muss ebenfalls in UTF8 kodieren können (siehe [[vim]] | ||
====== Troubleshooting ====== | ====== Troubleshooting ====== | ||
Zeile 446: | Zeile 499: | ||
^Name ^Typ ^Beschreibung ^Quelle ^ | ^Name ^Typ ^Beschreibung ^Quelle ^ | ||
|Python Das umfassende Handbuch|Buch/ | |Python Das umfassende Handbuch|Buch/ | ||
+ | |||
+ | |||
+ | ====== Notizen ====== | ||
+ | |||
+ | ===== CGI ===== | ||
+ | |||
+ | ==== CGI FieldStorage ==== | ||
+ | |||
+ | * Dropdowns haben immer einen Wert -> ist ein Dropdown im Formular ist die Länge des CGI FieldStorages immer mindestens 1 | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ |