Benutzer-Werkzeuge

Webseiten-Werkzeuge


python_3

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_3 [2018/04/23 21:07]
root [Operatoren]
python_3 [2018/04/25 14:26] (aktuell)
root [String-Methoden/Operationen]
Zeile 33: Zeile 33:
 In Python 2 war ein String eine Kette von Zeichen, die normalerweise als ASCII interpretiert wurde. \\ In Python 3 ist ein String eine UTF-8 Zeichenkette. In Python 2 war ein String eine Kette von Zeichen, die normalerweise als ASCII interpretiert wurde. \\ In Python 3 ist ein String eine UTF-8 Zeichenkette.
  
 +
 +===== Automatisches konvertieren nach Float =====
 +
 +  * Wenn bei Rechenoperationen das Ergebnis eine Gleitkommazahl ist wird das Ergebnis automatisch ein float
 +  * Bei Python 2 wurde das Ergebnis by Default als Integer gespeichert -> die Nachkommastellen fiehlen ggf. einfach weg
  
  
Zeile 45: Zeile 50:
  
  
-===== Operatoren =====+===== Konvertieren von Typen ===== 
 + 
 +^Methodenname ^Beschreibung ^ 
 +|int()|Konvertiert alles in ein Integer (Ganzzahl)| 
 +|float()|Konvertiert alles in ein Floating Point Number (Reele Zahlen, mit Komma)| 
 + 
 +Syntax: 
 +<code> 
 +float(Variable) 
 +</code> 
 + 
 +Das ganze geht auch um komplette Ausdrücke (Das Ergebnis wird dann konvertiert -> es wird zuvor der Inhalt in den Klammern ausgeführt): 
 +<code> 
 +a=float(5+3) 
 +</code> 
 +Ergibt: 8.0 
 +\\ \\  
 +Bei Rechenoperationen bei denen das Ergebnis eine Kommazahl ist wird automatisch nach Float konvertiert. 
 +====== Operatoren ======
  
 Die folgende Liste ist nicht abschließend, sie zeigt nur die Operatoren die nicht selbsterklärend sind: Die folgende Liste ist nicht abschließend, sie zeigt nur die Operatoren die nicht selbsterklärend sind:
Zeile 69: Zeile 92:
 a wäre in obigem Beispiel 2. a wäre in obigem Beispiel 2.
 </WRAP> | </WRAP> |
 +|+|Addition oder verketten von Strings. \\ Hinweis: Beim Verketten von Strings müssen beide zu verkettenden Strings explizit Strings sein - es geht also nicht einfach eine Variable die eine Ziffer enthält mit einem String zu verknüpfen. Python nimmt in diesem Fall an, das es sich bei der Ziffer um eine Zahl handelt und nicht um eine Zeichenkette.|
 +
 +===== Reihenfolge der Abarbeitung von Operationen (Mathematische Operation) =====
 +
 +Mathematische Ausdrücke werden nach den folgenden Regeln verarbeitet.
 +
 +  * Ausdrücke in Klammern
 +  * Exponential-Funktionen (Hoch)
 +  * Multiplikationen und Divisionen (Mal, Geteilt)
 +  * Additionen und Subtraktionen (Minus und Plus)
 +  * von Links nach Rechts 
 +
 +
 +
 +====== String-Methoden/Operationen =======
 +
 +Neben den hier gelisteteten Operationen (unvollständige Liste) kann man natürlichalle Operatoren für sequentielle Datentypen anwenden (da Strings solche sind). \\ \\
 +Zu beachten ist, dass Methoden die Teil des String-Objektes sind nicht den String selbst ändern, sondern einen geänderten String als Rückgabewert liefern -> der String im Objekt bleibt unverändert.
 +
 +
 +^Methode/Operator ^ Beschreibung ^
 +|find|Gibt zurück wo ein Teilstring das erste mal in der Zeichenkette auftaucht \\ <WRAP>
 +<code>
 +a=Banane
 +b=a.find("an")
 +print b
 +</code>
 +Würde 1 zurück geben, da der Substring "an" das erste mal an Index 1 (Zählung beginnt bei 0) auftaucht
 +\\
 +Ist der String nicht vorhanden wird -1 zurück gegeben.
 +</WRAP> |
 +|replace|Gibt einen String zurück in dem alle Vorkommen (per Default) eines bestimmten Teilstrings und ersetzt wurden durch einen anderen. \\  <WRAP>
 +<code>
 +a="Ein Stein"
 +b=a.replace("Stein","Blech")
 +print b
 +</code>
 +In oben stehendem Beispiel würde "Ein Blech" zurückgegeben, da b den String in a enthält, nur das alle Teilstrings "Stein" durch "Blech" ersetzt wurden.
 +</WRAP>|
 +|lstrip/rstrip/strip|Gibt einen String zurück bei dem auf der linken Seite (lstrip)/am Anfang oder auf der rechten Seite (rstrip)/am Ende oder am Ende und Anfang (strip) die führenden/beendenden (jeweils vor oder nach dem letzten Buchstaben) Whitespaces, NewLines und alle anderen Steuerzeichen entfernt sind. \\ \\ <WRAP>
 +<code>
 +a=" Hallo Tom "
 +b=a.lstrip()
 +print (b)
 +b=a.rstrip()
 +print (b)
 +b=a.strip()
 +</code>
 +In dem obigen Beispiel würde der Reihe nach ausgegeben:
 +  * "Hallo Tom " -> lstrip nimmt die Whitespaces am Beginn des Strings weg
 +  * " Hallo Tom" -> rstrip nimmt die Whitespaces am Ende des Strings weg
 +  * "Hallo Tom" -> strip nimmt die Whitespaces am Anfang und am Ende weg
 +
 +</WRAP> |
 +|startswith|Gibt true oder false zurück je nach dem ob ein String mit einem bestimmten Substring beginnt oder nicht.\\ <WRAP>
 +<code>
 +a="Banane"
 +b=a.startswith("Ban")
 +print b
 +</code>
 +b wäre in diesem Beispiel True, da der String in a mit "Ban" beginnt
 +</WRAP> |
 +|IN|Prüft ob ein Teilstring irgendwo im String zu finden ist. \\ \\ Der Operator ist von den sequentiellen Datentypen geerbt (String ist auch einer).<WRAP>
 +<code>
 +a="Hallo Thomas"
 +if "Thomas" in a:
 +    print "Hallo Thomas"
 +</code>
 +Obiges Beispiel überprüft ob der Teilstring "Thomas" in a ist (ist er) und wenn das so ist führt er den Körper der if-Anweisung aus.
 +</WRAP>|
 +|split|Gibt eine Liste mit Teilstrings zurück - der Originalstring wird anhand eines vorgegebenen Strings (Seperator) in einzelne Teile zerlegt. \\ Der Separator (der Teilstring) ist nicht Teil des Ergebnisses (wird also gelöscht). <WRAP>
 +Syntax: y=x.split(Optional Seperator)
 +\\
 +Der Seperator ist ein String anhand dessen in Einzelteile geteilt werden soll, wird er nicht angegeben wird Space dafür genutzt.
 +<code>
 +a="Hallo Thomas"
 +b=a.split()
 +</code>
 +b wäre in diesem Beispiel eine Liste mit den Elementen "Hallo" und "Thoma" - der Seperator (Leerzeichen) ist nicht im Ergebnis enthalten.
 +<code>
 +a="Eins-Zwei-Drei"
 +b=a.split("-")
 +</code>
 +b wäre eine Liste mit den Elementen "Eins", "Zwei", "Drei" - auch hier ist der Seperator (in diesem Fall "-" nicht im Ergebnis enthalten.
 +</WRAP> |
 +|splitlines|Liefert eine Liste in der jedes Element eine Zeile aus dem String ist zurück - sucht in einer Zeichenkette nach Newline-Zeichen und spaltet die Zeichenkette an diesen auf, jedes Element enthält eine Zeile. \\ \\ Vor allem Sinnvoll wenn per read aus einer Datei der gesamte Inhalt in einen String geschrieben wurde (alle Zeilen stehen dann hintereinander) und nun einzelne Zeilen benötigt werden. <WRAP>
 +<code>
 +a="Zeile 1 Text\nZeile 2 - Text\nZeile 3 - Text"
 +b=a.splitlines()
 +</code>
 +In diesem Fall wäre das Ergebnis eine liste mit den Elementen "Zeile 1 Text", "Zeile 2 Text", Zeile 3 Text" - das Trennzeichen (das Newline) wird nicht mitgespeichert.
 +</WRAP> |
 +
  
python_3.1524510432.txt.gz · Zuletzt geändert: 2018/04/23 21:07 von root