Benutzer-Werkzeuge

Webseiten-Werkzeuge


python

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
python [2014/11/21 19:17]
root [Datentypen]
python [2018/04/25 13:50] (aktuell)
root [Sequentielle Operatoren]
Zeile 75: Zeile 75:
 id(b) id(b)
 152711844 152711844
 +#Abfrage de Speicherplatzes von a
 +id(a)
 +152711856
 </code> </code>
  
- +  * A und B verweisen nach dem ändern von B auf verschiedene Speicherbereiche 
  
  
Zeile 135: Zeile 137:
   * s -> das serielle Objekt aus dem das größte Objekt/Wert/Element ermittelt werden soll   * s -> das serielle Objekt aus dem das größte Objekt/Wert/Element ermittelt werden soll
 </WRAP> | </WRAP> |
-|s[x]|Ermöglicht den Zugriff auf das xte Element innerhalb eines seriellen Objektes \\ \\ \\ Syntax: s[x] \\ \\ <WRAP>+|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] \\ \\ <WRAP>
   * s -> das serielle Objekt    * s -> das serielle Objekt 
-  * x -> das Element auf welches man zugreifen möchte/dessen Inhalt man haben will - **Achtung:** Die Zählung beginnt bei 0+  * x -> das Element auf welches man zugreifen möchte/dessen Inhalt man haben will - **Achtung:** Die Zählung beginnt bei 0 \\ \\ 
 +Man kann innerhalb des Suboperators auch Operationen ausführen: 
 +<code> 
 +s[x-1] 
 +</code> 
 +In dem Beispiel würde der Wert aus x - 1 berechnet und das Ergebnis als Index verwendet.
 </WRAP> | </WRAP> |
 |s[x:y]|Zugriff auf auf Bereich von Elementen innerhalb eines seriellen Objektes \\ \\ \\ Syntax: s[x:y] \\ \\ <WRAP> |s[x:y]|Zugriff auf auf Bereich von Elementen innerhalb eines seriellen Objektes \\ \\ \\ Syntax: s[x:y] \\ \\ <WRAP>
Zeile 190: Zeile 198:
   * in Python Standard-Mapping: Dictionary   * in Python Standard-Mapping: Dictionary
   * Speichert Key-Value-Pairs aka Wert-Paare   * Speichert Key-Value-Pairs aka Wert-Paare
-===== Sprachkonstrukte  ===== +====== Sprachkonstrukte  ====== 
-==== Methoden  ====+===== Funktionen ===== 
 + 
 +  * Entsprechen weitgehenst Methoden (siehe unten) 
 +  * sind eigenständige Objekte 
 + 
 +===== Methoden  =====
  
 Syntax:  Syntax: 
Zeile 197: Zeile 210:
 def Funktionsname (Parameter1,Parameter2): def Funktionsname (Parameter1,Parameter2):
     Funktionscode     Funktionscode
 +    return //Variable//
 </code> </code>
  
Zeile 207: Zeile 221:
   * Funktionsname: Name der Funktion   * Funktionsname: Name der Funktion
   * Parameterx: Parameter die an die Funktion übergeben werden; Als bennannter Parameter in beliebiger Reihenfolge -> Parametername=Wert, Parameter2=Wert2, oder als unbenannte Parameter in Reihenfolge -> Parameter1, Parameter2 usw.    * Parameterx: Parameter die an die Funktion übergeben werden; Als bennannter Parameter in beliebiger Reihenfolge -> Parametername=Wert, Parameter2=Wert2, oder als unbenannte Parameter in Reihenfolge -> Parameter1, Parameter2 usw. 
 +      * **Achtung**: Alle Variablen werden als Referenz übergeben - bei mutable (veränderlichen Datentypen) wird bei Veränderungen innerhalb der Methode auch die Variable die übergeben wurde mit geändert -> soll das verhindert werden sollte innerhalb der Methode eine Kopie gemacht werden
 +  * return: Optional, Gibt beim herausspringen den Wert/Variable hinter return zurück.
 +
 +
 +
 +
 +
  
  
-=== Optionale Parameter  ===+==== Optionale Parameter  ====
  
   * In der Literatur/Dokumentation als Parameter1,Parameter1[,Parameter3, Parameter4] dargestellt -> Parameter1 und 2 sind dabei anzugeben, 3 und 4 sind optional   * In der Literatur/Dokumentation als Parameter1,Parameter1[,Parameter3, Parameter4] dargestellt -> Parameter1 und 2 sind dabei anzugeben, 3 und 4 sind optional
Zeile 223: 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 238: Zeile 259:
   * ü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 *//Parametername// angeben 
 +      * 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: 
 + 
 +<code> 
 +def //methodenname// (//Parameter1//,//Parameter2//,*//Parameter3//): 
 +     Code 
 + 
 +//methodenname//(//Wert1//, //Wert2//, //Wert3//, //Wert4//, //Wert5//
 +</code> 
 + 
 +  * //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 244: 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 260: Zeile 305:
  
  
-=== Objektvariablen  ===+==== Objektvariablen  ====
  
   * Variablen die innerhalb des Objektes global verfügbar sind   * Variablen die innerhalb des Objektes global verfügbar sind
Zeile 277: Zeile 322:
  
  
-=== Überladen  ===+==== Überladen  ====
  
   * Überladen von Methoden ist in Python nicht vorgesehen   * Überladen von Methoden ist in Python nicht vorgesehen
Zeile 284: Zeile 329:
  
  
-=== Überschreiben  ===+==== Überschreiben  ====
  
   * Überschreiben von Methoden geht   * Überschreiben von Methoden geht
Zeile 290: Zeile 335:
  
  
-=== Private Variablen/Methoden  ===+==== Private Variablen/Methoden  ====
  
   * Gibt es in Python nicht   * Gibt es in Python nicht
Zeile 298: Zeile 343:
 Syntax: def _Methodenname(self) Syntax: def _Methodenname(self)
  
-=== Statische Variablen/Methoden  ===+==== Statische Variablen/Methoden  ====
  
 **This section is not tested and based on assumptions:** **This section is not tested and based on assumptions:**
  
-  * Werden per __Methodenname deklariert+  * Werden per %%_%%_Methodenname deklariert
   * 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__ deklariert+  * Diese werden mit %%_%%_Methode%%_%%_ deklariert
  
-Syntax:  def __init__()+Syntax:  def %%_%%_init%%_%%_()
 ===== Funktionen ===== ===== Funktionen =====
  
Zeile 347: 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 
 </WRAP> | </WRAP> |
 +|type (Objekt)|Gibt den Typ (die Klasse) eines Objektes zurück|
 +|dir(Objekt)|Gibt alle Methoden eines Objektes zurück|
  
 ====== HowTos ====== ====== HowTos ======
Zeile 417: 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). \\ \\
 +<code>
 +#coding=utf-8
 +</code>
 +
 +Mit dem Kommentar #coding=Charset in der ersten oder zweiten Zeile einer Datei setzt den Zeichensatz auf den angegebenenen.
 +
 +Hinweis: Der verwendete Editor muss ebenfalls in UTF8 kodieren können (siehe [[vim]]
 ====== Troubleshooting ====== ====== Troubleshooting ======
  
Zeile 440: Zeile 499:
 ^Name ^Typ ^Beschreibung ^Quelle ^ ^Name ^Typ ^Beschreibung ^Quelle ^
 |Python Das umfassende Handbuch|Buch/Kurs|Openbook von Galileo |http://openbook.galileocomputing.de/python/| |Python Das umfassende Handbuch|Buch/Kurs|Openbook von Galileo |http://openbook.galileocomputing.de/python/|
 +
 +
 +====== Notizen ======
 +
 +===== CGI =====
 +
 +==== CGI FieldStorage ====
 +
 +  * Dropdowns haben immer einen Wert -> ist ein Dropdown im Formular ist die Länge des CGI FieldStorages immer mindestens 1
 +
 +
 +
 +
 +
 +
python.1416593872.txt.gz · Zuletzt geändert: 2014/12/04 10:24 (Externe Bearbeitung)