[h1]Operatoren[/h1]
Operatoren sind spezielle Symbole, die Rechenarten wie Addition und Multiplikation darstellen. Die Werte, die durch die Operatoren verknüpft werden, heißen Operanden
Die meisten Operatoren für Zahlenwerte sind in Python ähnlich zu anderen Programmiersprachen.
Hier eine Kurze Zusammenfassung zur Übersicht:
Operator | Bezeichnung | Beispiel |
+, - | Addition, Subtraktion | 10 -3 |
*, /, % | Multiplikation, Division, Rest | 27 % 7 Ergebnis: 6 |
+x, -x | Vorzeichen | -3 |
~x | Bitweises Not | ~3 - 4 Ergebnis: -8 |
** | Exponentiation | 10 ** 3 Ergebnis: 1000 |
or, and, not | Boolsches Oder, Boolsches Und, Boolsches Nicht | (a or b) and c |
in | "Element von" | 1 in [3, 2, 1] |
<, <=, >, >=, !=, == | Die üblichen Vergleichsoperatoren | 2 <= 3 |
|, &, ^ | Bitweises Oder, Bitweises Und, Bitweises XOR | 6 ^ 3 |
<<, >> | Shiftoperatoren | 6 << 3 |
[h1]Die Vergleichsoperatoren:[/h1]
Auf die Vegleichsoperatoren wollen wir näher eingehen:
Vergleichsoperator | Bedeutung |
>= | größer gleich |
<= | kleiner gleich |
== | gleich |
!= | ungleich |
Beispiele:
Beispiel > ,<:
Hier können wir gleich eine For Schleife mit if, else und elif benutzen
und uns außerdem merken das eine Verkettung nur bei gleichen Dateityp möglich ist.
Deswegen wird die gegeben Zahl die typ int ist mittels str(zahl) in der print Anweisung in einen String umgewandelt.
Zahlen=[1,2,3,4,5,6,7,8,9,10]
for zahl in Zahlen:
if zahl > 5:
print str(zahl)+' ist mehr als 5'
elif zahl < 5:
print str(zahl)+' ist weniger als 5'
else:
print str(zahl)+' ist gleich 5'
>>>1 ist weniger als 5
>>>2 ist weniger als 5
>>>3 ist weniger als 5
>>>4 ist weniger als 5
>>>5 ist gleich 5
>>>6 ist mehr als 5
>>>7 ist mehr als 5
>>>8 ist mehr als 5
>>>9 ist mehr als 5
>>>10 ist mehr als 5
Beipiele ==:
wir suchen die Zahl 6 in einer Liste:
search=6
Zahlen=[1,2,3,4,5,6,7,8,9,10]
for zahl in Zahlen:
if zahl == search:
print str(zahl)+' gefunden.'
else:
pass
>>>6 gefunden
natürlich könnten wir das auch ohne das definieren der Variable Zahlen erreichen
search=6
for zahl in [1,2,3,4,5,6,7,8,9,10]:
if zahl == search:
print str(zahl)+' gefunden.'
else:
pass
>>>6 gefunden
Beispiel >=:
search=6
for zahl in [1,2,3,4,5,6,7,8,9,10]:
if zahl >= search:
print zahl
else:
pass
>>>6
>>>7
>>>8
>>>9
>>>10
Beispiel <=:
search=6
for zahl in [1,2,3,4,5,6,7,8,9,10]:
if zahl <= search:
print zahl
else:
pass
>>>1
>>>2
>>>3
>>>4
>>>5
>>>6
Beispiel !=:
search=6
for zahl in [1,2,3,4,5,6,7,8,9,10]:
if zahl != search:
print zahl
else:
pass
>>>1
>>>2
>>>3
>>>4
>>>5
>>>7
>>>8
>>>9
>>>10
Aufgaben:
Aufgabe 1:
Erstellt euch eine Funktion searchZahl(search) die auf die einfachste Art und Weise und mit geringsten Schreibaufwand die Zahlen von 1-25 hält und probiert die veschieden Möglichkeiten aus!
Benutzt dabei euer Wissen aus den vorherigen Teilen.
Aufgabe 2:
Das ist eine Textsearch so wie ich Sie in Addons verwende um ohne Beachtung der Groß und Kleinschreibung sowie auch nur mit Teil-Suche ein optimales Ergebnis zu erreichen.
Klärt selbständig was die noch nicht in den Teilen durchgesprochenen Begriffe machen .
Erklärt Euch den Code Zeile für Zeile selbst.
Macht daraus eine Funktion um sie in eventuellen Addons von Euch später ohne große Veränderungen nutzen zu können.
Füllt else mit Leben!
search=''
for name in ['Hans','Hannelore','Hanes','Hanf']:
if ((name.upper()).find(str.upper(search))>=0):
print name
else:
pass
[h1]Datei-Handling[/h1]
Wir kennen bereits verschiedene Arten von Dateien, wie Musik-Dateien, Video-Dateien, Textdateien.
Python uns eine einfache Möglichkeiten diese Dateien zu manipulieren.
Im Allgemeinen teilen wir Dateien in zwei Kategorien ein, Textdatei und Binärdatei.
Die Textdateien halten einfachen Text
Die binären Dateien enthalten binäre Daten, die nur von Computer lesbar sind.
Datei-öffnen
Um eine Datei zu öffnen verwenden wir die open () Funktion.
Sie erfordert zwei Argumente:
1. den Path zur Datei oder nur den Dateinamen
2 welcher Mode zum öffnen benutzt wird.
Die verschiedenen Modes sind:
Mode | Bedeutung |
“r” | öffnet ein File(Datei)read only, Du kannst Die Datei nur lesen nichts editieren oder löschen. |
"w” | öffnet eine Datei zum schreiben.Das bedeutet wenn der File existiert löscht es den Inhalt und öffnet den File(Datei) zum schreiben. |
"a" | Öffnet ein File(Datei) im Append(hinzufügen) Mode .Das bedeutet das man dem Inhalt des Files etwas hinzfügen kann wobei der hinzugefügte Inhalt am Ende des vorhandenen Inhalts angehangen wird. |
Ohne Angabe des Mode wird der default Mode ausgeführt (nur lesen).
Wichtig eine mit open geöffnete Datei muß immer zum Abschluß mit close() geschlossen werden.
Arbeiten an ständig offenen Dateien kostet mehr Speicher und führt mit der Zeit zu einer korrupten Datei.
Wir erzeugen eine Leere Textdatei:
Beispiel:
f=open('beispiel.txt','w')
f.close()
Erzeugt eine Leere Textdatei im Verzeichnis der ausgeführten py Datei.
Wir schreiben in eine Textdatei:
Beispiel:
f=open('beispiel.txt','w')
f.write('Das ist ein Test.\n')
f.write('Python ist schon cool.\n')
f.close()
Wir lesen eine Textdatei:
Beispiel:
f=open('beispiel.txt')
inhalt=f.read()
print inhalt
f.close()
Wir fügen etwas Inhalt hinzu.
Beispiel:
f=open('beispiel.txt','a')
f.write('wir lernen leider nicht schnell genug.\n')
f.write('Denn auch Jan hat nicht immer ausreichend Zeit.\n')
f.close()
[h1]Das with Statement[/h1]
Mit Benutzung des with Statement wird der File automatisch geschlossen so das wir uns das
close() sparen
So sind wir sicher das der Speicher nicht vollgemüllt wird und es zu keiner korupten Datei führt.
Beispiel:
with open('beispiel.txt') as f:
for line in f:
print line,
Aufgaben :
1. Alle Beispiele ausführen.
2. Die verschiedenen Modi mit Benutzung des with Statments ausführen.
2. Was macht \n?
3. Was würde \t tun?
3. Was macht print ,?
4. Was oder worin besteht der Unterschied zum einlesen der Datei mit read() gegenüber den einlesen der Datei in einer for Schleife?