Vorlesung Skriptsprachen Duale Hochschule Stuttgart Sommersemester 2016 Dipl.-Ing. (FH) Volker Schepper Start • Dozent: Volker Schepper • Homepage: http://wwwlehre.dhbw-stuttgart.de/~schepper/ Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Termine Vorlesungstermine 09.03.2016 16.03.2016 23.03.2016 30.03.2016 6.04.2016 13.04.2016 20.04.2016 27.04.2016 4.05.2016 11.05.2016 18.05.2016 25.05.2016 Uhrzeit: 13:45 – 15:30 Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Inhalt der Vorlesung • Einführung Skripte • Funktionsweise • Vor- & Nachteile • Pyhton • Variablen, Anweisung • Bedingungen, … • Übungen • Projektarbeit • • • • • • • • Einführung Python Mathematische Operatoren Datei Operationen Multithreading Netzwerk UDP & TCP/IP Datenbank GUI Webseiten Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Skripte Skripte sind Anweisung welche mittels eines Programms/Software interpretiert werden. Dieses Programm/Software wird als Interpreter bezeichnet. In Skripte sind Anweisungen enthalten die der Interpreter ausführt. Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Programme Ein Programm wird mittels Compiler (Linker & Preprocessor) erstellt. Das erstellt Programm ist direkt ausführbar und enthält Maschinebefehle. Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Funktionsweise - Interpreter Der Quellcode wird vom Interpreter eingelesen analysiert und ausgeführt. Anwendung Interpreter Script Betriebssystem 1. Quellcode einlesen 2. Analysieren / Umsetzten 3. Ausführen Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Hardware Kommandozeileninterpreter Zur Eingabe vom Kommandos und zur Ausführung mehrere Kommandos für Automatisierte Installationsroutinen, Daten-BackUp oder ähnliches. • bash • Linux-Shell • sh • Unix-Shell • cmd • Windows Kommandointerpreter • Windows PowerShell • Erweiterung der vom cmd mit Kommandos von Linux Shell Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Skriptsprachen verschiedener Programme • Größere Programmpakete bieten die Möglichkeiten Skripte auszuführen für eine schnelle Abarbeitung von sich wiederholenden Aufgaben. • Microsoft Office • VBA – Visual Basic for Applications • OpenOffice • Technische Programme (Matlab, Diadem, …) Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Funktionsweise – Byte-Code Interpreter Das Script wird zuerst in ein Byte-Code übersetzt. • Die Ausführung des Byte-Code wird in einer virtuellen Maschine ausgeführt. • Durch die Übersetzt in den Byte-Code können Optimierung bei der Ausführung vorgenommen werden. Dadurch können auch Geschwindigkeitsvorteile erreicht werden. Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Funktionsweise – Just in Time Interpreter Erst zur Laufzeit wird das Skript in Maschinenbefehle übersetzt. • Durch dir direkte Ausführung des Maschinenbefehle wird höhere Geschwindigkeit erreicht. • Schleifen oder ähnliches müssen lediglich einmal in Maschinenbefehle übersetzt werden. Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Rekursiver Interpreter Anwednung Der Interpreter 1 führt das Skript 1 aus. Script 2 Das Skript 1 beinhaltet die Anweisung für neuen Interpreter. Die Kombination aus Interpreter 1 und Skript 1 fungieren zusammen als Interpreter 2. Interpreter 2 Interpreter 1 Script 1 Interpreter 2 führt die neuen Anweisung aus, welche im Skript 2 vorhanden sind. Betriebssystem Hardware Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Vorteile Compilersprache Hohe Ausführungsgeschwindigkeit – Das Programme liegt bereits im nativen Maschinencode vor. Deshalb entfallen etwaiger Zwischenschritte durch einen Interpreter. Typsicher (typesafe) – Variablen ist immer zu deklarieren, welchen Typ sie besitzen. Zeigerarithmetik – Mit Zeiger können effizienter Code entwickelt werden. ==> hohe Ausführungsgeschwindigkeit jedoch großes Fehlerpotential vorhanden. Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Programmiersprache - Eigenschaften • Der Quellcode muss vor der ersten Anwendung kompiliert werden. • Die Anwendung wird für ein bestimmtes Betriebssystem kompiliert. • Direkt im Betriebssystem wird die Anwendung ausgeführt. Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Vorteile Skriptsprache • Betriebssystemunabhängig. • Müssen weder kompiliert noch gelinkt werden. Script kann man deshalb schnell starten und besser testen. => Rapid Prototyping Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Zeitliche Einordnung BASIC Python (1964) (1991) Fortran COBOL B C C++ (1954) (1960) (1970) (1972) (1983) t 1950 1960 1970 1980 1990 Perl PHP (1987) (1995) Ruby (1995) Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Python “Python is powerful... and fast; plays well with others; runs everywhere; is friendly & easy to learn; is Open.”* *Python Software Foundation Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Python Einführung • Python Software Foundition Lizenz • Kompatibel zu GPL • Interpreter Sprache • Freie Verfügbarkeit • Unterschiedliche Implementierungen • Aktuelle Version • Python 3.4 • (Python 2.7) Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Quelle: Wikipedia • Entwickelt 1991 von Guido van Rossum • Lizenz: Vorteile Mit Python können umfangreiche Anwendungen schnell Entwickelt werden. Rapid Prototyping (RP) Rapid Application Development (RAD) Einfach & eindeutig Klare Strukturen Wiederverwendung Objektorientiert Interpreter Unabhängig Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Vorteile Klar und verständlichen Code • Syntax ermöglicht sehr kompakte Programmtexte • Das Layout des Quelltestes dient nicht allein der besseren Lesbarkeit Flexibel • Kleine / große Applikationen • Client-/ Serverseitige Programmiersprache • Plattform unabhängig Komfortabel • Automatische Speicherverwaltung • Umfangreiche Standardbibliothek (Rapid Prototyping) • Variablen muss kein Datentyp explizit zugeordnet werden. Es gibt keine eine Variabledeklaration, der Datentyp ergibt sich aus dem Kontext • Abstrakten Datentypen erlauben komplexe Operationen in einem Ausdruck Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Einsatz von Python • D-Link • Uses Python to control firmware updates. • Philips Semiconductor(NXP) • Production line in Fishkill runs on Python. • Google • Ist eine offizielle Programmiersprache • YouTube • Größtenteils in Python programmiert. • Honeywell • Python zur allgemeinen Softwareentwicklung eingesetzt. • One Laptop per Child (100Dollar-Laptop) • Benutzeroberfläche in Python Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Python Interpreter • cPython • Am meist verwendete Interpreter, ist mit der Programmiersprache C geschrieben. • Jython • Implementierung in Java. Java Bibliotheken können dynamisch benutz werden. • IronPython • Interpreter wurde mit C# geschrieben. Es können .NET Bibliotheken verwendet werden. • PyPy • Just-In-Time (JIT) Compiler deutlich schneller Ausführung. • Stackless Python • Rücksprungadressen lokal speichern. Rekursionstiefe nur noch durch den Arbeitsspeicher begrenzt. Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper cPython - Interpreter • Das Script wird nicht direkt im Betriebssystem ausgeführt. • Jedoch besitzt auch Python ein Compiler. Aus dem Quellcode wird ein Byte-Code Kompilat erzeugt. Der Python-Interpreter stellt eine virtuelle Maschine für den Python Byte-Code dar. Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Python für jedes Betriebssystem Für alle gängigen Betriebssysteme liegt ein Python-Interpreter vor: – Windows – Linux – MacOS – Unix – Android Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Vorteile (Unterschiede) zu C vs. Python – abstrakten Datentypen erlauben komplexe Operationen in einem Ausdruck. – Gruppierung von Ausdrücken erfolgt durch Einrückung anstatt durch Anfangs- und Ende-Klammern. – Variablen und Argumente müssen nicht deklariert werden Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Identifiers (Bezeichner) für Objekte Zeichenketten für: – – – – Objekte Variablen Funktionen Klassen Format – Beliebig Länge – 1. Zeichnen muss ein Buchstabe sein – Aus Buchstaben, Ziffern und Unterstriche zusammengesetzt – Uni-Code Zeichen (Python 3) – ASCII Zeichen (Python 2) Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Datentypen – Integer (Ganze Zahlen) • Typ: int • Größe ist vom verfügbaren Arbeitsspeicher abhängig. u_long = 4294967296 print(u_long) 4294967296 u_long = u_long * u_long print(u_long) 18446744073709551616 u_long = u_long * u_long print(u_long) 340282366920938463463374607431768211456 Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Datentypen – Fließkommazahl (Float) • Gleitkommazahl • Typ: float • 64Bit • Minium: -1,7 * 10(-308) ; Maximum: +1,7 * 10(308) x1= 8.4 x2 = 2e2 x3 = 3.5E3 X4 = 4.2e-3 print (x1, "/n", x2, "/n", x3, "/n", x4) Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper 8.4 200.0 3500.0 0.0042 Datentypen – Bool • Bool • Typ: bool • Zwei Zustände „True“ oder „False“ • Wert ‚0‘ bei Int und float wird zu False interpretiert • Wert ‚ungleich 0‘ bei Int und float wird zu True interpretiert Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Arithmetische Operatoren • • • • • • • Addition Subtraktion Multiplikation Division Modulo Ganzzahldivision Potenzieren + * / % // ** Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Boolesche Operatoren • Und-Verknüpfung • Oder-Verknüpfung • Nicht and or not Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Vergleich Operatoren • • • • • • Gleich Ungleich Kleiner Größer Kleiner oder gleich Größer oder gleich == != < > <= >= Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Kombinierte Zuweisungsoperatoren • Addition • Subtraktion x += 3 x -= 3 • Multiplizieren • Dividieren x *= 3 x /= 3 • Ganzzahlig Division • Quadrieren x //= 3 x **= 3 • Division und Rest Berechnen x %= 3 Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Dynamische Typdeklaration • Python benötigt keine Typdeklaration. • Der Datentyp einer Variablen werden von Python zur Laufzeit automatisch erkannt. Dieses Verfahren wird als dynamische Typdeklaration bezeichnet. x = 23 x = "Hallo Welt" x = [5,25,55] Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Datentyp ermitteln Es kann erforderlich sein, den Datentyp zu bestimmen. type(objekt) x = 23 print (type(x)) x = "Hallo Welt" print (type(x)) x = [5,25,55] print (type(x)) <class 'int'> <class 'str'> <class 'list'> isinstance(objekt,datentyp) x = 23 print (isinstance(x,int)) x = "Hallo Welt" print (isinstance(x,int)) x = [5,25,55] print (isinstance(x,(int,list))) Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper True False True if Anweisung # Testausgabe i = int(input("Zahl eingeben: ")) Start if i > 0: i>0 print ("Zahl größer 0") nein elif i < 0: print ("Zahl kleiner 0") else: ja Größer 0 print ("Zahl gleich 0") i<0 nein ja Keiner 0 Gleich 0 Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Rangfolge der Operatoren Reihenfolge Operator Bedeutung 1 ( ) Klammer 2 * / % // Multiplikation, Division, Modulo, Ganzzahldivision 3 + - Addition, Subtraktion 4 < <= > >= == != Kleiner, kleiner o. gleich, größer, größer o. gleich, ungleich 5 not logische Verneinung 6 and Logisches Und 7 or Logisches Oder Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper for Schleife Mit der range() Funktion lassen sich auf sehr einfache Weise Iterationen durchführen. Startwert for i in range(4): print(i) 0 1 2 3 for i in range(3, 7): print(i) 3 4 5 6 for i in range(6, 13, 2): print(i) 6 8 10 12 Endwert Startwert Endwert Schrittweite Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper for Schleife for Schleife kann auch zur Iteration über Sequenz von Objekten verwendet werden. cpu= ["Pentium", "Celeron", "Athlon", "Bulldozer", "Phenom", "Sempron"] for x in cpu: print (x) if x == "Athlon": print(">Prozessor der Firma AMD") Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Pentium Celeron Athlon >Prozessor der Firma AMD Bulldozer Phenom Sempron while-Schleife Bedingung true Anweisung 1 Anweisung 2 Anweisung 3 … Anweisung n false Weitere Anweisung des Programms n=5 i=0 while i < n: i=i+1 print(" i: " , i) Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper i: 1 i: 2 i: 3 i: 4 i: 5 while-else Schleife Bedingung true Anweisung 1 Anweisung 2 Anweisung 3 … Anweisung n n = 100 i=0 false else: Anweisung 1 Anweisung 2 … Anweisung n Weitere Anweisung des Programms while i < n: i=i+1 else: print(„Fertig") print("Summe: " , i) Berechnung beendet Summe: 100 Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper while-else Schleife Bedingung n = 100 i=0 false while i < n: true Anweisung 1 Anweisung 2 break … Anweisung n else: Anweisung 1 Anweisung 2 … Anweisung n i=i+1 if i > 50: break else: print("Fertig") print("Summe: " , i) Weitere Anweisung des Programms Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Summe: 51 Aus- / Eingabe • Ausgabe print ("Hello World") Hello World • Eingabe i = input("Zahl eingeben: ") i = int(input("Zahl eingeben: ")) Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Zahl eingeben: Bit Operatoren • • • • • • Bitweises AND Bitweises OR XOR (Exklusiv Oder) Bitweises Komplement Bitverschiebung link Bitverschiebung rechts & | ^ ~ << >> Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Bitweises AND i1 = 179 i2 = 30 i3 = i1 & i2 print(" Bitweises AND: ", i3) Bitweises AND: 18 1 0 1 1 0 0 1 1 & 0 0 0 1 1 1 1 0 179d 0 0 0 1 0 0 1 0 18d Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper 30d Bitweises OR i1 = 179 i2 = 30 i3 = i1| i2 print(" Bitweises OR: ", i3) Bitweises OR: 191 1 0 1 1 0 0 1 1 OR 0 0 0 1 1 1 1 0 179d 1 0 1 1 1 1 1 1 191d Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper 30d Bitweises XOR i1 = 1 i2 = 0 i3 = i1 ^ i2 print(" Bitweises XOR: ", i3) i1 i2 Ergebnis 0 0 0 0 1 1 1 0 1 1 1 0 Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Bitweises XOR: 1 Bitverschiebung nach links << i1 = 30 i2 = 2 i3 = i1 << i2 print(" Bitverschiebung : ", i3) Bitverschiebung : 120 0 0 0 1 1 1 1 0 30d 0 1 0 0 1 0 0 0 120d Bitweises verschieben nach links bedeutet eine Multiplikation mit 2. Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper i1 = 30 i2 = 2 i3 = i1 << i2 print(" Bitverschiebung : ", i3) Bitverschiebung : 15 0 0 0 1 1 1 1 0 30d 0 0 0 0 1 1 1 1 15d Bitweises verschieben nach rechts bedeutet eine Division mit 2. Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Komplexe Zahlen c1 = 2+5j c2 = c1 * 3 c3 = c2 – c1 print(" Komplexe Zahl c1: ", c1) print(" Komplexe Zahl c2: ", c2) print(" Komplexe Zahl c3: ", c3) Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Komplexe Zahl c1: 2+5j Komplexe Zahl c2: 6+15j Komplexe Zahl c3: 4+10j Komplexe Zahlen (2) • Betrag der komplexen Zahl (Länge des Vektors) • 𝑧 = 𝑎2 + 𝑏 2 z = 2 + 5j print(" Betrag von z: ", abs(z)) Betrag von z: 5.3851 • Komplexe Konjugation z1 = 2 + 5j z2 = z1.conjugate() print(" Konjugation von z: ", z2) Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Konjugation von z: 2–5j Komplexe Zahlen konvertieren • Komplexe Zahlen ==> Reelle Zahlen c1 = 3 + 4.1j Realteil: 3.0 Imaginärteil: 4.1 print(" Realteil: ", c1.real) print(" Imaginärteil : " ,c1.imag) • Reelle Zahlen ==> Komplexe Zahlen c1 = complex(1, 0.3) print(" Komplexe Zahl: ", c1) Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Komplexe Zahl: 1+0.3j Sequentieller Datentyp • Eigenschaften von sequentiellen Datentypen • Beinhaltet mehrere Elemente. • Elemente können auch aus unterschiedliche Datentyp bestehen. • Definierte Reihenfolge, deshalb kann auf einzelne Elemente über Indices zugreifen. • Sequentielle Datentypen in Python: • Zeichenketten (Strings) • Listen • Tupel Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Listen • Listen sind ein oder mehrdimensionale Felder mit variable Anzahl. y = [4, 6, 8, 13,14] print(y) print(y[0]) print(y[0:3]) print(y[0:5:2]) # Gesamte Liste # Ein bestimmtes Element # Teilbereich einer Liste # Teilbereich mit Schrittweite 2 Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper [4, 6, 8, 13, 14] 4 [4, 6, 8] [4, 8, 14] Listen list1 = [1, 5, 8, 11, 12] print (list1) [1, 5, 8, 11, 12] list1[1] = 2 print (list1) [1, 2, 8, 11, 12] i1 = list1[2] print (i1) 8 Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Liste - unterschiedlichen Datentypen • Liste mit unterschiedlichen Datentypen list1 = [1, "String", 2.1, 2+5j, True] for x in list1: print (x, type(x)) Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper 1 <class 'int'> String <class 'str'> 2.1 <class 'float'> (2+5j) <class 'complex'> True <class 'bool'> Liste - Methoden Methode Wirkung s.append(x) Hängt x ans Ende von s an. s.extend(t) Hängt alle Elemente von t ans Ende von s an. s.count(x) Gibt an, wie oft das Element x in s vorkommt. s.insert(i, x) Fügt x an der Stelle i in s ein. Anschließend hat s[i] den Wert von x, wobei alle folgenden Elemente um eine Stelle nach hinten aufrücken. s.remove(x) Entfernt das erste Vorkommen von x aus der Sequenz s. s.reverse() Kehrt die Reihenfolge der Elemente in s um. Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Liste maximal – minimal – Anzahl • Maximalwert list = [1, 2, 5, 4] print(max(list)) 5 • Minimalwert list = [1, 2, 5, 4] print(min(list)) 1 • Anzahl der Elemente list = [1, 2, 5, 4] print(len(list)) Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper 4 Tupel • Unterscheid zu Liste: • Unveränderlich (immutable) • Geringer Ressourcenverbrauch t = (45, 34, 77, 12) print (t) print(type(t)) Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper <type 'tuple'> (45, 34, 77, 12) String • Strings sind Zeichenketten aus: • • • • Buchstaben Ziffern Sonderzeichen Steuerzeichen s1 = "hallo welt" s2 = ("Hallo" " Welt") s3 = 'Hallo Python ' print (s1) print (s2) print (s3) Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper hallo welt Hallo Welt Hallo Python Verkettete Strings str1 = "Hallo" str2 = "Welt" # Verkettete String str1 und str2, getrennt mit # einem Leerzeichen. # String wird str3 zugewiesen str3 = str1 + " " + str2 print (str1) print (str2) print (str3) Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Hallo Welt Hallo Welt Escape Sequenz Escape Sequenz Bedeutung \a Bell (BEL) erzeugte einen Signalton. \b Backspace (BS) setzt die Ausgabeposition um ein Zeichen zurück. \f Formfeed (FF) erzeugt einen Seitenvorschub. \n Linefeed (LF) setzt die Ausgabeposition in die nächste Zeile. \r Carriage Return (CR) setzt die Ausgabeposition an den Anfang der nächsten Zeile. \t Horizontal Tab (TAB) hat die gleiche Bedeutung wie die Tabulatortaste. \v Vertikaler Tabulator (VT); dient zur vertikalen Einrückung. \“ Doppeltes Hochkomma \‘ Einfaches Hochkomma \\ Backslash Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper Links Gute Einführung in Python - umfassende Handbuch • http://python.haas.homelinux.net/ Portable Python • http://portablepython.com/wiki/Download/ • http://portablepython.com/wiki/PortablePython2.7.6.1/ • http://portablepython.com/wiki/PortablePython3.2.5.1/ Python • https://www.python.org/downloads/ Vorlesung: Skriptsprachen DHBW Stuttgart - Semester: SS2016 – Dipl.-Ing.(FH) Volker Schepper