Anzeige:
test
Anzeige:
Stern inaktivStern inaktivStern inaktivStern inaktivStern inaktiv
 

Auf dieser Seite befinden sich meine Python Notizen.
Es ist kein  wirklicher Workshop, oder Tutorial! 

Sie dienen, in erster Linie, mir als Notizen. 

Du bist eingeladen diese eine Seite zu überfliegen und parallel die Übungen auszuführen. 

Der zeitliche Rahmen ist gering und dient sicherlich der Übersicht! 


Was ist Python? 

Python ist eine "High Level" Programmiersprache! 
Es ist ein Schweizer Messer innerhalb der Programmiersprachen.
Was sind typische Python Projekte, die man relativ zügig  programmieren kann und derzeit hoch angesehen sind? 

Innerhalb kürzester Zeit  beherrschst Du 

  • alle Arten von Datenstrukturen
  • Standard-Algorithmen ( z.B. Fibonacci Zahlen, Dijkstra ( Kürzester Pfad), Türme von Hanoi.
    • Sortieralgorithmen : Quick Sort, Insertion Sort, Selection Sort, Bubble Sort, Merge Sort, Radix Sort,Heap Sort.
    • Suchalgorithmen : Lineare Suche: Binäre Suche , Depth First Suche , Breath First Suche

 

Und kannst damit mit folgenden z.B. Projekten dominieren:

  • To-Dolisten
  • Web-Crawler
  • Alarm-Geber für Webseiten, Serverdienste usw.
  • Konverter  für Währungen oder Audio-Video-Converter
  • Youtube-Downloader
  • Spiele : Hang-man , usw
  • Chat-Apps
  • Gesichtserkennung
  • Chat-Bots 
  • Insta-Bots
  • Emojify
  • Webseitenblocker
  • und viel viel mehr

Gerade im Bereich Datenanalyse und Serveradministration ist Python ein sehr gutes Werkzeug. 
Allerdings geht es hierbei um die schnelle Einführung. 

 

Soll ich Video-Kurse belegen oder mir sehr teure Bücher kaufen? 
Weder noch! 

Mein persönlicher Tipp:
Schaue Dir in knappen Dokumentationen die kleinen Basics an und  widme Dich dann vielen kleinen Projekten, wie oben beschrieben,oder anderen Turials! 
Die kommerziellen Bücher kosten nicht nur Geld, leider kosten Sie auch sehr viele Stunden Zeit. 

Diese Zeit hast Du nicht, auch wenn es Dir noch nicht bewusst ist. 

Die Python Basics sind 

  1. Variablen, Strings
  2. Umgang mit User-Eingaben
  3. Kontrollstrukturen if, else for usw
  4. Funktionen und Module
  5. Ausnahmebehandlungen
  6. File- Handling 
  7. Datenbanken

Danach widmen man sich den weitereführenden Themen, hier darfst Du schon praxisorientiert arbeiten: 

  • Objektorientierte Programmierung
  • Listen Tupeln und Dictionaries richtig nutzen
  • Maps & Filter
  • Lambda Funktion
  • Regular Expressions richtig anwenden

 

Sobald Du diese Grundzüge verstehst, kannst Du auch  grafische Oberflächen mit 

  1. TKinter 
  2. pyQT

erstellen oder  Web-Aplikationen über 

  • Flask bzw
  • Django 

 

Wie werde ich erfolgreich und bekomme ggf. einen Job mit meinen Skills

  • Programmiere jeden Tag ein wenig! 
  • Erstelle Dir ein GutHub-Account und teile Deinen Code!
  • Schaue Dir auf GitHub andere Codes an, verstehe diese und lerne ! 
  • Erweitere Deine Py-Skills und programmiere in unterschielichen Bereichen !
  • Bringe anderen das Programmieren bei 
  • Bewerbe Dich als Freelancer für kleine Projekte und prüfe Deine Fähigkeiten
  • Trage Dich auf zahlreichen Job-Portalen ein und verkaufe Dich gut !

 

 

Fangen wir an: 

Wie arbeitet Python 

Ein gutes Buch würde Dir hier nun erläutern, wie ein Rechner  Maschinencode ausführt. 
Wir werden damit keine Zeit verbringen. 

( Low Level Programmierung : Maschinensprache, assembly language )

 

 

Aber fangen wir endlich an. 

Es gibt zwei Wege um ein Python Programm auszuführen. 
- Über die Shell 
- Oder GUI

 

Alle Python Programme sind "Portable", laufen somit auf allen Betriebssystemen, aus denen Python3 läuft.

 

 Installation von Python! 

Wir nutzen hier lediglich die Verison 3.x! 

Wwindows 

- Linux

Mac OS

 

 

Was sind Variablen? 

Wir fangen mit einem Beispiel an und widmen uns dann einer kurzen Erläuterung.
Als erstes denken wir uns ein Wort aus: 
z.B. DiesIstMeineVariable  und speichern dort eine Zeichenkette/String  die "Hallo Welt" ausgibt: 

Öffne Dein Terminal und starte die Python Shell über 

python3

 

Gebe dort folgendes aus: 

DiesIstMeineVariable = "Hallo Welt" 

print(DiesIstMeineVariable) 

 

Die Variable ist also ein Speicherort für Deine Daten. 
Du kannst Sie fast beliebig verwenden.
Sie sollten nicht zu lang sein und keine reservierten Schlüsselwörter enthalten.
Diese sind : 

 

False               def                 if                  raise
None del import return
True elif in try
and else is while
as except lambda with
assert finally nonlocal yield
break for not
class from or
continue global pass



Gewöhne Dir am Anfang an, Deine Variablen mit "mein" oder sonstigen Zusatz zu definieren und Du wirst hier keine Schwierigkeiten haben.
Zudem sollten sie Aussagekräftig sein, w.z.B. 

Kunden_Datenbank
Debitor_Datenbank
Anzahl_Kunden 
AnzahlKunden

 

Wie haben berieits über Zeichenketten gesprochen und haben hier das Schlüsselwort "String" erwähnt.
Strings sind Zeichenketten. 
In unserer Variable haben wir also eine Zeichenkette gespeichert. 
Zeichenketten haben einige Besonderheiten .
Sie werden mit  Anführungsstriche gekennzeichnet

"Hallo Welt" 

Alle Zeichen innerhalb der Anführungsstiche werden als Zeichenkette wahrgenommen und vorerst als normale Speicherdaten verarbeitet.

Aber auch hier gibt es Ausnahmen. 

Wir sehen uns sofort zwei Beispiele an: 

print("Hallo Welt")
print("Hallo \nWelt")

Du erkennst sicherlich schon die Unterschiede und viele Worte tun hier nicht mehr Not.
mit \ kannst Du sogenannte "Escape Charakter" definieren. 
Es erspart Dir zum Beispiel mehrere Print-Befehle auszuführen, um unterschiedliche Zeilen zu bedienen. 
Zudem kannst Du darüber auch Anführungszeichen verwenden, ohne damit Deine Zeichenkette zu zerstören. 

Zum Beispiel 
Lasse folgenden Satz über Print ausgeben
Mein Programm heisst "Hallo Welt!"

 

Probiere es erst und lese dann weiter: 

Wie hast Du es vielleicht umgesetzt: 
print (" Mein Programm heisst "Hallo Welt!" " )

Wie bereits angedeutet akzeptiert und tolleriert unser Interpreter und Meister alles zwischen den Anführungsstrichen.
Allerdings deutet er unseren Anfang und das Ende absolut falsch.
Was er sieht ist 

print( "Mein Programm heist" 
Er hat ein Anfang und ein Ende gefunden und erwartet danach das ENDE des Print-Befehls also )  . 
Doch plötzlich kommt eine weitere Zeichenkette "Welt" " )  und damit kann er nichts anfangen. 

Somit müssen wir diese zusätzlichen Anführungsstriche tolerierbar machen.

 Dies geschieht ebenfalls mit Escape - Charakter

Korrekt wäre: 

print (" Mein Programm heisst \"Hallo Welt!\" " )

Also ein Backslass sorgt innerhalb einer Zeichenkette "   .... "  für Ausnahmen.

 

Folgende Escape-Charakter gibt es 

\' Single Quote Try it »
\\ Backslash Try it »
\n New Line Try it »
\r Carriage Return Try it »
\t Tab Try it »
\b Backspace Try it »
\f Form Feed  
\ooo Octal value Try it »
\xhh Hex value

 

 Wir schreiben unsere erste ausführbare Python-Datei. 

 

Öffne den Text-Editor Deines Vertrauens oder den Atom-Editor

Trage dort folgenden Code ein: 

print("Dieses Progrann addiert 2 Werte miteinander")
print("Folgende Zahlen werden berechnet \n zwei + fünf")
print(2+5)
print(" Wir können dies auch über Variablen lösen")
meine_zahl1 = 2
meine_zahl2 = 5
mein_ergebnis = meine_zahl1+meine_zahl2

print(ergebnis)

 

Speichere diesen Code als erstesprogramm.py ab. 
Öffne Deinen Browser, geh in den jeweiligen Ordner und rufe Dein Programm über den Befehl : python3 erstesprogramm.py ab.

 

Die Ausgabe sollte wie folgt sein: 

Dieses Progrann addiert 2 Werte miteinander
Folgende Zahlen werden berechnet
zwei + fünf
7
Wir können dies auch über Variablen lösen
7

Es ist egal, ob wir die Addition sofort als print-Ausgabe ausgeben, oder über eigenst erstellte Variablen durchführen. 

Nun, das Programm ist selbsterklärend, daher  nutzen wir die Zeit, um 
Dich jetzt etwas zu verwirren ! 

Schreibe ein Programm mit dem folgenden Code, doch führe ihn noch nicht aus:  

print("Folgende Zahlen werden ausgegeben \n zwei" + fünf")
print("2"+"5")

 

Was wird die Ausgabe sein ? 
Du kannst Dir sicher schon denken, wenn ich Dir diese Frage stelle, dann .... 

 

... und ja.  das Ergebnis wird 25 sein.
Aber warum ? 

Ich habe Dir bereits die Eigenschaften von Zeichenketten erläutert.
Alles zwischen den Anführungszeichen wird vom Interpreter  als String und reine Zeichenkette wiedergegeben. Ihm ist es nun egal, ob dort 2 oder zwei steht.
Er wertet die 2 lediglich als unwichtiges Zeichen und nicht mehr als eine ganze Zahl. 
Also gibt er hier auch nur die jeweiligen Zahlen wieder. 
Mit print("2"+"5" fügt er also nur die zwei Zeichen langweilig aneinander, ohne damit arithmetische Operationen durchzuführen. 

Also fügt er die 2 und 5 zusammen, daraus entsteht 25.

Klar ?  Wenn nicht...... schaue Dir die Unterschiede erneut an. 


Warum ist so etwas wichtig ? 
Wir schreiben auch sofort unser nächstes Programm und erweitern dies durch die User-Eingabe: 

Schreibe dazu folgenden Code : 

dein_name = input("Wie lautet Dein Name?")


print(" Hallo " + dein_name + " Trage 2 Zahlen ein, die addiert werden sollen:")
print("Gib Deine erste Zahl ein")
meine_erstezahl = input()
print("Gib Deine zweite Zahl ein")
meine_zweitezahl = input()

meine_Addionsvariable = meine_erstezahl+meine_zweitezahl
print("Die Addition Deiner vorgeschlagenen Zahlen ergibt")
print(meine_Addionsvariable)

 

Vielleicht hast Du es Dir schon denken können, aber durch "input" wird über die Konsole eine Eingabeaufforderung gefordert. 
Darum geht es hier aber tatsächlich nicht. 
Tatsächlich prüfen wir hier schon, ob Du ordentlich aufgepasst hast und lassen Dich gleichzeitig in eine Falle laufen. 

Durch

dein_name = input("Wie lautet Dein Name?") 
haben wir eine Zeichenkette in der Variable "dein_name" gespeichert.

in 
meine_erstezahl = input("Erste Zahl:")

hingegeben eine Zahl vom Typ Integer, also eine ganze Zahl. 

Würden wir bei den Zahlen die Anführungszeichen verwenden, so würde der Interpreter diese auch als solche interpretieren und das Ergebnis wäre ebenfalls nicht korrekt .
Bei größeren Berechnungen wird die Fehlererkennung sehr kompliziert, da man es oft schnell überliest, gerade als Anfänger!

 

In Python sind STRINGS unveränderlich. 
Bedeutet: Sind sie einfach erstellt worden, kann man sie nicht mehr ändern.
Jede sichtbare 'Veränderung hat immer einen neuen String zu Folge. 
Wie viele Strings gibt oder gab es nach folgender Ausgabe

 

print("Hello" + "  World" ) 

"Hello" ist unser erster String mit + fügen wir gedanklich einen weiteren String, nämlch
"World" hinzu. 

Allerdings muss Python darauf einen weiteren String erstellen : "Hello World"

Somit waren im Speicher 3 Strings vorgesehen:
"Hello"
"World"
"Hello World"

 

Ein ähnliches Verhalten, sieht man auch in anderen Programmiersprachen, wie zum Beispiel in Java. 

Mit Leichtigkeit haben wir uns nun schon einige Funktionen der Klasse STRING angeschaut und erfolgreich angewandt. 
String ist eine Funktion, die bereits in der Python-Programmiersprache stark verankert ist. 

 

Anbei einige Methoden, die uns  lehren mit Strings Konfortabler umzugehen. 
Als Entwickler wirst Du mit zahlreichen Zeichenketten konfrontiert werden, daher ist der korrekte und gute Umgang mit
Strings essentiell . 

Beispielprojekte
Web-Crawler :
Ein Web-Crawler ruft den Quellcode einer Seite auf und findet dort HTML vor.
Der Browsertitle ist zum Beispiel 

<title> IRC-Mania.de </title> 
Welche Schwierigkeiten haben wir hier ? 

Wir müssen  den Title Tag erkennen und entfernen.
Wir müssen zwischen den Title-Tags prüfen, ob dort noch andere Tags vorhanden sind. 

Noch komplizierter wird es bei Auswertungen innerhalb der Homepage. 

Also fangen wir mir einfachen aber wichtigen Methoden an. 
Wir werden in Zukunft alle Zeichenketten in Strings legen und diese dort genauer untersuchen. 
Gleichzeitig werde ich den Code über Kommentare dokumentieren. 
Durch ## kann man eine Zeile Dokumentieren, ohne dass Python diese Zeilen wertet 

Zum Beispiel : 
mein_dokubeispiel= "Hallo" ## Dieser Text ist nur für mich 

Python verwertet nur mein_dokubeispiel= "Hallo" 

Die Zeile "## Dieser Text ist nur für mich   " ist lediglich für Entwickler interessant.
Darüber dokumentieren wir nun unseren Code, damit er auch später nachvollziehbar ist. 

 

Wir widmen uns nun der Methode "len()" von String. 

Mit len() können wir die Länger eines Strings bestimmen.

meine_variable =  "Hallo"   # Hallo hat 5 Zeichen, die Länge ist also 5 
print len(meine_variable)      # Wir übergeben unsere Variable einer bereits bekannten Funktion len() und erhalten als Ausgabe 5. Probiere es aus

Wir können aber auch einzelne Zeichen unseres Streings ausgeben. 

z.B.  über 

print meine_variable[0]  ## Bildschirmausgabe H

print meine_variable[1]  ## 

print meine_variable[2]

print meine_variable[3]

print meine_variable[4]

print meine_variable[5]

 

Wie bereits gelernt, müssen/sollten wir Integer-Zahlen anders behandeln als Zeichenketten
str()  ist eine Methode, um Zahlen z.B. innerhalb eines Strings zu integrieren.

mein_durchmesser=365
mein_text = Mein Durchmesser beträgt: + str(mein_durchmesser) + "cm"

Eine alternative zu dieser Schreibweise gibt es nicht. Man könnte lediglich drei getrennte print-Ausgaben durchführen, wenn man str() nicht nutzen möchte.

mein_text = Mein Durchmesser beträgt: + mein_durchmesser + "cm"

wird hier in einen Fehler hineinlaufen. 

In diesem Fall ist es ein "Typ-Error"

"TypeError: can only concatenate str (not "int") to str"