Vorlesung - DHBW Stuttgart

Werbung
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
Herunterladen